我正在运行Django的开发版本,由于对CSRF所做的更改,文件浏览器应用程序似乎与trunk不兼容.我如何降级到正式版(1.1)?
我正在共享主机,我正在运行Django的方式如下:
~/local/lib/python2.6/site-packages/包含/django/以及其他几个文件夹(每个应用程序一个).
~/local/lib/python2.6/site-packages/ 在python路径上.
在/site-packages/其中还有一个/projectname/包含项目文件(manage.py,settings.py等)的符号链接.
我正在使用FastCGI,因此/public_html/我有一个dispatch.fcgi用于调用的django.core.servers.fastcgi.runfastcgi.一个.htaccess文件用于将所有请求重定向到dispatch.fcgi,以便Django可以处理它们.
我尝试删除(移出python路径)/django/,然后下载Django的发布版本并将其放在上一个/django/文件夹所在的位置.这产生了以下错误:
没有名为CSRF的模块.
我middleware/csrf.py从中下载/trunk/清除了第一个错误,但随后产生了其他错误.
我应该如何降级到1.1?从头开始并不是不可能的,但如果可能的话,我显然宁愿避免这种情况.
我已经成功降级,这实际上是一个非常简单的过程。希望这能帮助那些忽视我所做的事情的人。
1.1.1 中的 django-admin.py命令startproject创建的 settings.py 文件与当前开发版本略有不同。
startproject当前的开发版本有一个额外的中间件类 - csrf。1.1.1 中的 startproject 命令创建相同的 settings.py,但删除了第三个类。注释掉或删除这一行可以使 Django 正常工作。
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', #additional middleware class
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
Run Code Online (Sandbox Code Playgroud)