django多语言网站和子域名

时间:2012-09-02 16:54:32

标签: django subdomain multilingual

有没有办法用django和子域创建多语言网站?

我想有这个:

en.mysite.com - >网站用英语 it.mysite.com - >意大利语网站

我听说过localeurl应用程序,但它主要用于像/en/index.html或/it/index.html这样的网址路径。

1 个答案:

答案 0 :(得分:3)

您可以使用domain framework获取当前域名:

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

或者从HTTP_HOST META

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

然后activate语言:

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

您可以使用此代码编写自己的中间件。