4

django とサブドメインを使用して多言語サイトを作成する方法はありますか?

私はこれが欲しいです:

en.mysite.com -> 英語のサイト it.mysite.com -> イタリア語のサイト

localeurl アプリについて聞いたことがありますが、主に /en/index.html や /it/index.html のような URL パス用です。

4

1 に答える 1

4

ドメインフレームワークを使用して、現在のドメインを取得できます。

from django.contrib.sites.models import Site
domain = Site.objects.get_current().domain
language = domain.split('.')[0]

または、HTTP_HOSTMETAから取得します。

domain = request.META['HTTP_HOST']
language = domain.split('.')[0]

次に、言語をアクティブにします。

from django.utils import translation
translation.activate(language)

このコードを使用して、独自のミドルウェアを作成できます。

于 2012-09-02T22:51:58.787 に答える