Django Importerror:无法导入设置“设置” - 没有名为CSRF的模块
-
08-10-2019 - |
题
我刚开始和Django一起摆弄。首先,我在Windows机器上制作了一个小应用程序,然后验证了它的工作正常,我将整个项目拉开了,并在Linux机器上打开了ZIP。当然,使用mod_wsgi和django 1.1.1安装了Linux机器。
我创建了以下DIRS:
/usr/local/bin/ROOT
- 仅包含一个文件,django.wsgi
/usr/local/bin/ROOT/myapp
- django应用程序的根目录
根据说明 这里, ,我添加了 httpd.conf
:
<VirtualHost *:80>
ServerName server
ServerAlias server
ServerAdmin webmaster@example.com
WSGIScriptAlias /myapp /usr/local/bin/ROOT/django.wsgi
<Directory /usr/local/bin/ROOT/>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
现在根据说明 这里 我放了 /usr/local/bin/ROOT/django.wsgi
:
import os
import sys
path = '/usr/local/bin/ROOT'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
如果它很重要:在应用程序启动之前,Pythohpath上没有设置任何内容。
之后,我对Apache进行了优雅的重新启动,然后去了服务器/MyApp。我有500个错误。在我看到的日志中查看:
[Sun Dec 05 12:24:17 2010] [error] [client XXXX] ImproperlyConfigured: Error importing middleware django.middleware.csrf: "No module named csrf"
我究竟做错了什么?我发现有关此的所有其他线程总是得出结论,这是Django的旧版本(但是我的1.1.1),或者是运行几个应用程序,但我只有一个...
帮助?
解决方案
“ django.middleware.csrf”是django 1.2.x中的软件包
对于Django 1.1.x CSRF设置,请阅读适当的文档 这里
1.1.x中的软件包是“ django.contrib.csrf.middleware.csrfmiddleware”
其他提示
1.1.1 是 Django的旧版本(当前版本为1.2.3),这几乎可以肯定是您问题的原因。没有 django.middleware.csrf
在1.1.1中。
不隶属于 StackOverflow