Bei der Bereitstellung meines Projekts auf einem Ubuntu-Server mithilfe einer Virtualenv habe ich folgende Fehlermeldung erhalten:
[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
Ich weiß nicht, warum es diesen Fehler gibt, meine Konfiguration funktioniert gut mit einer Neuinstallation ... Aber wenn ich mein aktuelles Projekt kopiere, habe ich Fehler 500 erhalten. Ich habe versucht, "Teil für Teil" bereitzustellen, aber ich kann nicht finden, was falsch.
Sagen Sie mir, wenn Sie mehr von meinen Dateien benötigen, weil ich nicht wirklich weiß, wo das Problem liegt ...
Vielen Dank.
Ich traf das gleiche Problem. Ich habe festgestellt, dass ich Django 1.7.1 verwende, um ein von 1.8dev generiertes Projekt auszuführen. Wenn ich wieder zu 1.7.1 wechsle und "Django.middleware.security.SecurityMiddleware" in setting.py entferne, scheint es in Ordnung zu sein.
Also habe ich eine Lösung gefunden:
'Django.middleware.security.SecurityMiddleware'
Diese Zeile ist in MIDDLEWARE_CLASSES, von settings.py . Wenn ich diese Zeile lösche, habe ich keine Probleme mehr mit dem Sicherheitsmodul, aber ich denke, dies ist kein guter Weg, um das Problem zu lösen ... Beziehung zum CRSF-Token und solchen Dingen.
Noch eine Idee, um das Problem zu beheben?
Ich bin auf das gleiche Problem gestoßen. Es stellte sich heraus, dass ich versehentlich meine Django-admin.py-Version meines Computers verwendet habe, um mein Django-Projekt zu starten, und nicht die in der virtualenv installierte. Nach der Installation von Django innerhalb von virtualenv musste ich source bin/activate
erneut starten, bevor ich einen der Django-Admin-Befehle ausführte.
Ich hatte das gleiche Problem, wenn ich mein Projekt von einem anderen PC aus wechselte. Da mir die Möglichkeit, das zu entfernen, nicht sehr gefallen hat
"Django.middleware.security.SecurityMiddleware"
Ich habe gerade ein neues Projekt und eine neue App erstellt, die Einstellungen von Hand geändert und die restlichen Dateien kopiert, und es hat funktioniert :)
Ich vermute, es hat etwas mit dem geheimen Schlüssel des Projekts zu tun.
Wenn Sie zuvor ein virtualenv für dieses Projekt verwendet haben, stellen Sie sicher, dass Sie es für das nächste Mal aktivieren, wenn Sie dieses Projekt source bin/activate
verwenden, oder überprüfen Sie, ob Sie die richtige Version von Django
verwenden.
Wenn Sie entfernen einige Middlewares _ möchten, müssen Sie sicherstellen, was Sie tun.
verwenden Sie dies, es hat für mich funktioniert
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',
]
Ich vermute, dass dies in Django Version 1.7.x der Fall ist, wenn Sie versuchen, ein Projekt zu öffnen, das mit einer Django-Version höher als 1.7.x erstellt wurde
'Django.middleware.security.SecurityMiddleware'
hilft zwar, aber es wird ein anderes Problem 'session error'
oder etwas anderes erstellt
um das zu beheben:
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