Zat*_*t42 22 python django module virtualenv
当我在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
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会出现这个错误我的配置在全新安装时工作正常...但是当我复制我当前的项目时,我得到了错误500.我试图部署"part after part"但我找不到什么是错误.
告诉我你是否需要更多我的文件,因为我真的不知道问题在哪里...
谢谢.
小智 46
我遇到了同样的问题.Finnaly,我发现我正在使用django 1.7.1运行一个1.8dev生成的项目.当我切换回1.7.1,并在setting.py中删除'django.middleware.security.SecurityMiddleware'时,似乎没问题.
Zat*_*t42 12
所以,我找到了一个解决方案:
'django.middleware.security.SecurityMiddleware'
Run Code Online (Sandbox Code Playgroud)
此行位于MIDDLEWARE_CLASSES中,来自settings.py.当我删除这一行时,我没有安全模块的问题,但我想这不是解决问题的好方法......我想这行与crsf令牌有关,就像那样.
还有其他想法来解决这个问题吗?
小智 8
我遇到了同样的问题.事实证明,我无意中使用我的机器版本的django-admin.py来启动我的Django项目,而不是在virtualenv中安装的项目.source bin/activate
在运行任何django-admin命令之前,我最终必须在virtualenv中安装django后再次使用.