2015-12-22 102 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