[英]Django 1.9 - url internationalization
我正在尝试在Django 1.9中设置一个项目,但无法翻译主页。
我想在用户访问主页时将其重定向到/ en或/ fr。
所以我检查了文档,但对我来说还不太清楚。
在我的settings.py中,我添加了以下内容(来自doc: url internationalization ):
MIDDLEWARE_CLASSES += [
'django.middleware.locale.LocaleMiddleware',
]
我也有这个:
LANGUAGE_CODE = 'en'
DEFAULT_LANGUAGE = 'en'
LANGUAGES = (
('en', 'English'),
('fr', 'Français'),
)
TIME_ZONE = 'America/Toronto'
USE_I18N = True
USE_L10N = True
USE_TZ = True
在我的urls.py中,我添加了:
# -*- coding: utf-8 -*-
from django.conf.urls import url
from django.utils.translation import ugettext_lazy as _
from django.views.generic.base import TemplateView
urlpatterns = [
url(r'^$', TemplateView.as_view(template_name="index.html"), name='home'),
url(_(r'^privacy-policy/$'), TemplateView.as_view(template_name="privacy-policy.html"), name='privacy-policy'),
]
当我运行服务器并转到localhost:8000时,没有重定向到/ en或/ fr
我做错了什么?
我不确定django 1.9,但是在1.8中,您需要以这种方式声明您的i18n urlpatterns:
# your_project/your_project/urls.py
from django.conf.urls import include, url
from django.contrib import admin
from django.conf.urls.i18n import i18n_patterns
urlpatterns += i18n_patterns(
url(r'^test$', 'your_package.views.test', name='test'),
)
我们几个月前在我公司的博客上发表了一篇文章,它可以帮助您http://www.metod.io/zh/blog/2015/05/05/django-i18n-part-1/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.