django_language
Django
सत्र में स्पष्ट रूप से सेट कैसे करें?डीजेंगो सत्र में django_language को स्पष्ट रूप से सेट करने के लिए
धन्यवाद एक बहुत ...
django_language
Django
सत्र में स्पष्ट रूप से सेट कैसे करें?डीजेंगो सत्र में django_language को स्पष्ट रूप से सेट करने के लिए
धन्यवाद एक बहुत ...
आप अपने उपयोगकर्ताओं भाषा निर्दिष्ट करने के लिए, सुनिश्चित करें कि LocaleMiddleware
सक्षम किया गया है में सक्षम होना चाहते हैं:
MIDDLEWARE_CLASSES = (
...
'django.middleware.locale.LocaleMiddleware',
...
)
तो Django में उपयोगकर्ताओं की भाषा प्राथमिकता के लिए दिखेगा इसी क्रम (trans_real.py में get_language_from_request
देखें):
request.path_info
में
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'
...
और अगर आप एक संस्करण >= Django 1.8
का प्रयोग करेंगे।
from django.utils.translation import LANGUAGE_SESSION_KEY
def someview (request):
...
request.session[LANGUAGE_SESSION_KEY] = 'en'
यह अधिक लगातार काम करता है क्योंकि सेटिंग्स में 'LANGUAGE_SESSION_KEY' संपत्ति नहीं हो सकती है –
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
नाम से है। (नामLANGUAGE_COOKIE_NAME
सेटिंग के माध्यम से बदला जा सकता है।)
धन्यवाद, मैं पहले इस तरह वास्तव में किया था, लेकिन यह काम नहीं किया, यह पता चला मैं डिफ़ॉल्ट रूप भाषाएं सूची में नहीं एक भाषा टैग का उपयोग किया है, यह अच्छा है अभी व। धन्यवाद – icn
आसान नहीं है ['django.views.i18n.set_language()'] (https://docs.djangoproject.com/en/1.2/topics/i18n/internationalization/#the-set-language- रीडायरेक्ट-व्यू) बिल्टिन व्यू –
यह बहुत अच्छा काम करता है – suhailvs