我正在运行的Django开发版本,它看来,filebrowser应用程序是不是因为CSRF所做的更改与躯干兼容。如何降级到正式发布(1.1)?

我在共享主机,且本人curently运行的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能够处理它们。

我试图消除(移出蟒路径的)/django/然后下载的Django的发布版本,并把它在先前/django/夹了。这将产生以下错误:

  

没有模块命名CSRF。

我下载从middleware/csrf.py /trunk/其中清理第一错误但随后产生的其它错误。

我应该如何去降级到1.1吗?从头开始是不是出了问题,但如果可能的话我会很明显,而避免这一点。

有帮助吗?

解决方案 2

我已成功地成功地降级,它实际上是一个非常简单的过程。希望这将有助于人走出谁忽视我做了什么。

django-admin.py在1.1.1 startproject命令创建比当前发展释放一个稍微不同的settings.py文件。

startproject与当前dev的释放有一个额外的中间件类 - 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',
)

其他提示

看在你/site-packages/目录Django-1.other_stuff.egg-info文件并删除任何你找到,然后再次尝试(与代码1.1仍处于site-packages/django/目录。如果这不起作用,只是再次从运行最新发布的Django的安装程序压缩包(蟒蛇setup.py安装),你应该是不错的。

另外,如果您有 PIP安装你可能只是做pip install -U Django==1.1.1终端。

请注意在那些鸡蛋信息文件D资本Django和PIP命令。

您可以只安装你在你的用户空间所需版本的Django,说在/ home /我的/ lib目录/

那么,如果你在你的mysite.wsgi使用mod_wsgi的有一行:

sys.path.insert(0,'/home/me/lib/Django-1.1')

这将确保Django是从安装,而不是服务器范围加载。

您还需要使正确的django-admin.py启动调整你的shell环境路径变量,或直接运行

python /home/me/lib/Django-1.1/django/bin/django-admin.py ...
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top