如何将Django从dev降级到1.1

Pet*_*rne 6 django downgrade

我正在运行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?从头开始并不是不可能的,但如果可能的话,我显然宁愿避免这种情况.

Joh*_*ebs 8

在你的/site-packages/目录中查找Django-1.other_stuff.egg-info文件并删除你找到的任何文件,然后再试一次(site-packages/django/目录中的1.1代码仍然存在.如果这不起作用,只需从最新版本的tarball重新运行Django安装程序(python setup.py)安装),你应该是好的.

或者,如果你安装了pip,你可以pip install -U Django==1.1.1在终端中进行.

注意资金DDjango这些卵信息文件和PIP命令.


Pet*_*rne 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)