2015-12-22 104 views
1

我想建立一个项目在Django 1.9和我有麻烦翻译主页。的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,我说:

当我运行服务器并转到本地主机:8000时,没有重定向到/ en或/ fr

我做错了什么?

回答

0

我不能完全肯定的Django 1.9,但在1.8你需要这样声明你的i18n URL模式:

# 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/en/blog/2015/05/05/django-i18n-part-1/

+2

我知道,但在doc,他们说:因为1.8版本 '不推荐使用:'' 前缀参数i18n_patterns()已被弃用,不会在Django 1.10的支持。简单地传递django.conf.urls.url的()的实例的列表instead.' – Kornikopic

+0

@Kornikopic在Django中> 1.8:'urlpatterns的+ = i18n_patterns([URL(R '^测试$', 'your_package.views.test', name ='test')])' –

+0

@JamesFenwick这正是我想要避免的,因为这个特性将会在Django 1.10中被移除 - 我也试过了,它不起作用。在这里,我得到的错误:'AttributeError:'list'object has no attribute'regex'' – Kornikopic