2014-01-30 99 views
8

我有一個django 1.6網站與國際錳協工作。我可以使用模板頂部的選擇框來更改前端語言,但我不知道是否有django應用程序或技巧來更改管理語言,因爲它似乎存儲在會話變量中的某個位置,並且它保留我在前端使用的第一種語言。如何更改Django管理語言?

回答

10

您可以/en/admin/fr/admin/等使用i18n_patterns創建:

urlpatterns += i18n_patterns(
    url(r'^admin/', include(admin.site.urls)), 
) 

(Django的< = 1.7時,必須指定一個前綴,使用i18n_patterns('', ...)

+0

它正確更改我的應用程序語言。但它改變了我也提供的語言文件。我如何加載該語言?你可以幫我嗎 ? [我的問題](http://stackoverflow.com/questions/39102538/language-file-dosent-load-automaticaly-in-django)@Udi –

9

在您的settings.py只需添加'django.middleware.locale.LocaleMiddleware'MIDDLEWARE_CLASSES設置,確保它出現在'django.contrib.sessions.middleware.SessionMiddleware'之後。

+0

我想知道,爲什麼這是downvoted。這正是我所錯過的。 –

+0

不錯的答案,它很容易,它的工作原理,但用戶如何改變語言?取決於在瀏覽器中設置的語言並不總是一個好的解決方案。 –

+0

添加.locale.LocaleMiddleware是唯一需要的一件事。然後,管理員將使用用戶瀏覽器設置中最受歡迎的語言。 – mirek