我想获取浏览器的默认语言。我已经为此尝试了一些代码,但没有一个对我有用。
我可以从这个request.META['HTTP_ACCEPT_LANGUAGE']
获取在浏览器中激活的所有语言的数组。但是我如何才能获得默认设置的语言。
答案 0 :(得分:2)
在中间件订单后面的django.middleware.locale.LocaleMiddleware
中添加中间件setting.py
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
# other middleware ...
)
并使用request.LANGUAGE_CODE
获取浏览器语言。
来源http://www.janosgyerik.com/
我用它来解决项目中的问题
答案 1 :(得分:1)
您可以通过request.LANGUAGE_CODE访问当前语言,如下所述: https://docs.djangoproject.com/en/1.7/ref/templates/api/#django-core-context-processors-i18n
答案 2 :(得分:0)
Django 1.10只是改变了这一点:
?:(1_10.W001)在Django中不推荐使用MIDDLEWARE_CLASSES设置 1.10和MIDDLEWARE设置优先。由于您已设置MIDDLEWARE,因此忽略MIDDLEWARE_CLASSES的值。
现在改为:
Traceback (most recent call last):
File "manage.py", line 16, in <module>
raise ImportError(
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?