有没有办法用 django 和子域创建多语言站点?
我想要这个:
en.mysite.com -> 英文网站 it.mysite.com -> 意大利文网站
我听说过 localeurl 应用程序,但它主要用于像 /en/index.html 或 /it/index.html 这样的 url 路径。
有没有办法用 django 和子域创建多语言站点?
我想要这个:
en.mysite.com -> 英文网站 it.mysite.com -> 意大利文网站
我听说过 localeurl 应用程序,但它主要用于像 /en/index.html 或 /it/index.html 这样的 url 路径。
您可以使用域框架来获取当前域:
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]
然后激活语言:
from django.utils import translation
translation.activate(language)
您可以使用此代码编写自己的中间件。