[英]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.