mrcaste
mrcaste

Reputation: 23

ImproperlyConfigured: Error importing module django.contrib.locale: "No module named locale"

I am getting this error with django.

I am using django internationalization. I create the language files. I run the server without problems, but when making a request to the web site shows me the following:

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"

And I have this:

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

Upvotes: 1

Views: 1940

Answers (1)

doniyor
doniyor

Reputation: 37876

i think, locale middlware should come before common middleware: 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',
)

Upvotes: 3

Related Questions