Django 1.6禁用了以前自动启用的sitesframework。这在管理员文档的视图部分引入了一个错误。
维护者已经修复并关闭它 https://code.djangoproject.com/ticket/21386
我有一个1.6的新pip安装,但错误仍然存在。我的猜测是,修补程序目前还没有内置到PIP上的最新稳定版本中吗?
我的问题是:您建议采用哪种方式将修复程序纳入我的运行设置? (如果可能的话,我想把它留在PIP而不是直接从Github检查django)
如果有人偶然发现这个问题,请看官方机票上的bouke回复: https://code.djangoproject.com/ticket/21386#comment:8
在settings.py中设置SITE_ID = None可以解决错误。
答案 0 :(得分:1)
这是fixed in the master
branch,这是发布新的主要1.7版本的地方。这意味着该问题将在1.7中修复,但该版本尚未推出,并且不会在接下来的几个月内修复。
您可以尝试让Django团队(礼貌地!)将更改反向移植到stable/1.6.x
分支,因为它不是新的未来,而只是解决1.6中的问题。这个分支的变化将包含在次要的1.6.2版本中。
我的问题是:你建议用什么方法来修复我的问题 运行设置? (如果可能的话,我想把它留在PIP而不是 直接从Github查看django)
只要包含更改的稳定版本没有出现,您就不会在Python包索引中找到包含此修复程序的版本(由pip
使用)。
以下是一些选项:
等到出现修复程序的新稳定版本。
不推荐:您可以从master
分支安装当前开发版本的Django。这可以解决您的特定问题,但是绝对疯狂并且很可能会引入各种其他问题。
您可以从git获取1.6.1稳定版本,然后尝试从主分支手动cherry-pick
the change。很可能这不会起作用,或者至少需要一些额外的手动更改,因为此更改最初并非用于1.6.x
分支。
如果您让团队将更改后退到1.6.x
分支,您可以从此分支运行Django。我不会在生产中这样做,但它比从主人那里运行要安全得多。在新的小型1.6.x版本发布之前,这当然是一个临时解决方案。
如果您让团队将更改后退到1.6.x
分支,您可以从git获取1.6.1稳定版本,然后从cherry-pick
the change手动获取1.6.x
分支。