12
A
回答
28
如果您想讓您的用戶能夠指定語言,確保LocaleMiddleware
啓用:
MIDDLEWARE_CLASSES = (
...
'django.middleware.locale.LocaleMiddleware',
...
)
然後Django會查找用戶的語言首選項該順序(參見get_language_from_request
在trans_real.py):
- 在
request.path_info
,如果使用i18n_patterns; request.session[settings.LANGUAGE_SESSION_KEY]
;request.COOKIES[settings.LANGUAGE_COOKIE_NAME]
;- 每種語言在
request.META['HTTP_ACCEPT_LANGUAGE']
,直到找到一個被發現; settings.LANGUAGE_CODE
。
所以要在Django會議明確設置的語言最簡單的方法是重寫request.session[settings.LANGUAGE_SESSION_KEY]
:
def someview (request):
...
request.session[settings.LANGUAGE_SESSION_KEY] = 'en'
...
14
如果你將使用一個版本>= Django 1.8
。這裏是我們如何使用它:
from django.utils.translation import LANGUAGE_SESSION_KEY
def someview (request):
...
request.session[LANGUAGE_SESSION_KEY] = 'en'
+1
由於設置可能沒有「LANGUAGE_SESSION_KEY」屬性 – 2016-09-26 19:23:13
0
考慮使用django.views.i18n.set_language()。通過添加以下行到你的URLconf激活這一觀點:
# This example makes the view available at /i18n/setlang/
url(r'^i18n/', include('django.conf.urls.i18n')),
爲方便起見,Django自帶了一個觀點,
django.views.i18n.set_language()
,即設置一個用戶的語言 偏好並重定向到指定的URL,或者通過默認回到上一頁的 。該視圖期望通過POST方法調用,並在請求中設置語言 參數。如果啓用了會話支持,則視圖 將在用戶會話中保存語言選項。否則,它會將默認名爲
django_language
的Cookie中的語言選擇保存爲 。
相關問題
- 1. 我如何設置會話永遠不會在django中過期
- 2. Django的國際化setlang不改變會話數據django_language
- 3. 如何在html中的Django中設置會話變量/ cookie?
- 4. 如何在django中設置會話超時?
- 5. 如何在phpbb中設置會話?
- 6. 如何在php中設置會話?
- 7. 如何在javascript中設置會話值?
- 8. 如何在Joomla中設置會話
- 9. 如何在Capybara中設置會話值?
- 10. 如何在HttpContext中正確設置會話?
- 11. 設置django_language Cookie時出現LocaleMiddleware錯誤
- 12. 如何創建會話並在會話中設置UserBean
- 13. 如何設置會話值
- 14. 如何處理Django的會話正確
- 15. 在AngularJS中設置會話
- 16. 在會話中設置Cookie
- 17. Django UnitTest - 設置會話變量
- 18. Django-Mongodb:設置會話變量的ConnectionError
- 19. Django:通過Ajax設置會話
- 20. 如何設置會話中的值?
- 21. 如何設置會話在Laravel 5.3
- 22. 設計 - 它如何設置會話cookie?
- 23. 設置會話
- 24. 如何在Django中使用會話
- 25. 如何在GAE中使用django會話
- 26. 如何設置Django auth.login會話長度/年齡?
- 27. Django如何設置用戶模型會話到期時間
- 28. PHP會話變量設置不正確
- 29. Laravel設置會話變量正確
- 30. 如果會話變量被設置或者未在Django
感謝(該名稱可以通過
LANGUAGE_COOKIE_NAME
設置進行更改。),我之前完全一樣,但它沒有工作,原來我用不defualt語言列表語言的標籤,這是很酷現在。 謝謝 – icn 2010-04-09 17:34:19更不用說了['django.views.i18n.set_language()'](https://docs.djangoproject.com/en/1.2/topics/i18n/internationalization/#the-set-language- redirect-view)內建視圖 – 2012-08-24 08:40:38
它的工作非常感謝 – suhailvs 2013-07-26 11:11:30