python - 配置不正确 : Error importing module django. contrib.locale: "No module named locale"

标签 python django internationalization

我在使用 django 时遇到此错误。

我正在使用 django 国际化。我创建语言文件。我运行服务器没有问题,但是当向网站发出请求时显示以下内容:

Traceback (most recent call last):
      File "/usr/local/Cellar/python/2.7.8_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
        self.result = application(self.environ, self.start_response)
      File "/Users/mcaste/Developer/Projects/django/venv_python_2_8_django_1_6/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
        return self.application(environ, start_response)
      File "/Users/mcaste/Developer/Projects/django/venv_python_2_8_django_1_6/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
        self.load_middleware()
      File "/Users/mcaste/Developer/Projects/django/venv_python_2_8_django_1_6/lib/python2.7/site-packages/django/core/handlers/base.py", line 47, in load_middleware
        mw_class = import_by_path(middleware_path)
      File "/Users/mcaste/Developer/Projects/django/venv_python_2_8_django_1_6/lib/python2.7/site-packages/django/utils/module_loading.py", line 26, in import_by_path
        sys.exc_info()[2])
      File "/Users/mcaste/Developer/Projects/django/venv_python_2_8_django_1_6/lib/python2.7/site-packages/django/utils/module_loading.py", line 21, in import_by_path
        module = import_module(module_path)
      File "/Users/mcaste/Developer/Projects/django/venv_python_2_8_django_1_6/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
        __import__(name)
    ImproperlyConfigured: Error importing module django.contrib.locale: "No module named locale"

我有这个:

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.locale.LocaleMiddleware',
)

最佳答案

我认为,语言环境中间件应该位于通用中间件之前: docs say that

... And it should come before CommonMiddleware because CommonMiddleware needs an activated language in order to resolve the requested URL.

MIDDLEWARE_CLASSES = (
  'django.contrib.sessions.middleware.SessionMiddleware',
  'django.middleware.locale.LocaleMiddleware',
  'django.middleware.common.CommonMiddleware',
)

关于python - 配置不正确 : Error importing module django. contrib.locale: "No module named locale",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27560732/

相关文章:

python - 如何从 FileField 获取 (txt) 文件内容?

django - 在 Django 中编辑对象时,未填充 ImageField

html - CSS反转整个网站(镜像效果)

web-applications - i18n 和 l10n 应该在哪一步发生?在开头还是结尾?

python - 从不包括管道的脚本运行 scrapy

python - 具有多维的 numpy 数组的类似列表理解的方法

python - Python 的 raw_input() 容易受到缓冲区溢出的影响吗?

python - 测试列表A是否包含在列表B中

javascript - 未提交单个复选框表单。提交时还会收到 MultiValueDictKeyError

grails - 没有国际化消息热部署无法在开发人员中使用