获取Django中浏览器的默认语言

时间:2015-03-18 07:01:45

标签: python django

我想获取浏览器的默认语言。我已经为此尝试了一些代码,但没有一个对我有用。

我可以从这个request.META['HTTP_ACCEPT_LANGUAGE']获取在浏览器中激活的所有语言的数组。但是我如何才能获得默认设置的语言。

3 个答案:

答案 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?