Подтвердить что ты не робот

Python Django: нет модуля с именем security

Когда я развертываю свой проект на сервере Ubuntu, используя virtualenv, я получил эту ошибку:

[17/Sep/2014 22:29:00] "GET / HTTP/1.1" 500 59
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/home/zat42/myproject/monarch/env/local/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 64, in __call__
return self.application(environ, start_response)
File "/home/zat42/myproject/monarch/env/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 168, in __call__
self.load_middleware()
File "/home/zat42/myproject/monarch/env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 44, in load_middleware
mw_class = import_string(middleware_path)
File "/home/zat42/myproject/monarch/env/local/lib/python2.7/site-packages/django/utils/module_loading.py", line 26, in import_string
module = import_module(module_path)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named security

Я не знаю, почему есть эта ошибка, моя конфигурация отлично работает со свежей установкой... Но когда я копирую свой текущий проект, у меня появилась ошибка 500. Я попытался развернуть "часть после части", но я могу " t найти то, что неправильно.

Скажите, если вам нужно больше моих файлов, потому что я действительно не знаю, где проблема...

Спасибо.

4b9b3361

Ответ 1

Я встретил ту же проблему. Finnaly, я нашел Im, используя django 1.7.1 для запуска проекта с 1,8dev. Когда я вернусь к 1.7.1 и удалю 'django.middleware.security.SecurityMiddleware в файле settings.py, это выглядит нормально.

Ответ 2

Итак, я нашел решение:

'django.middleware.security.SecurityMiddleware'

Эта строка находится в MIDDLEWARE_CLASSES, с settings.py. Когда я удаляю эту строку, у меня больше нет проблем с модулем безопасности, но я думаю, что это не очень хороший способ решить проблему... Я предполагаю, что эта строка связана с токеном crsf и т.д.

Любая другая идея для решения проблемы?

Ответ 3

Я столкнулся с этой проблемой. Оказалось, что я случайно использовал свою версию django-admin.py для своей машины, чтобы запустить проект Django, а не тот, который установлен в virtualenv. Я закончил с source bin/activate снова после установки django внутри virtualenv, прежде чем запускать любую из команд django-admin.

Ответ 4

Если вы ранее использовали virtualenv для этого проекта, убедитесь, что вы активируете его в следующий раз, когда будете использовать этот проект source bin/activate или убедитесь, что используете правильную версию django.

Если вы хотите удалить несколько посредников, вам необходимо убедиться в том, что вы делаете.

Ответ 5

используйте это, чтобы он работал у меня

MIDDLEWARE_CLASSES = [
'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

Ответ 6

У меня была такая же проблема при переключении моего проекта с другого компьютера. Поскольку мне не очень понравился вариант, чтобы удалить

'django.middleware.security.SecurityMiddleware'

Я только что создал новый проект и новое приложение, изменил настройки вручную и скопировал остальные файлы, и он работал:)

Я предполагаю, что это имеет какое-то отношение к секретному ключу проекта.

Ответ 7

Я предполагаю, что это происходит в django версии 1.7.x, когда вы пытаетесь открыть проект, созданный с использованием версии django выше 1.7.x

удаление 'django.middleware.security.SecurityMiddleware' помогает, но создает другую проблему 'session error' или что-то

чтобы исправить это:

pip uninstall django==1.7.x //your current version of django installed
pip install django==1.9.x //or version that is compatible with the project

Ответ 8

(myvenv) pip uninstall django==(version)
(myenv) pip install django==(version)

Только это.