如何将Django项目从1.3.7升级到1.6或1.7?

3 投票
1 回答
1371 浏览
提问于 2025-04-18 05:35

我有一个Django项目需要升级。我应该先在1.6版本上新建一个项目,然后把1.3版本的内容一个一个地转移过去,还是有其他更简单的方法呢?

1 个回答

9

根据文档的建议,升级可以分步骤进行。

  1. 首先,创建一个新的虚拟环境,然后在里面安装新的Django版本,以及你应用所需的所有依赖项。这样可以让新旧版本相互独立,不会互相影响。
  2. 接着,创建并运行一个测试套件。确保用-Wall命令来运行测试,这样可以显示所有的警告信息。
  3. 在部署时,记得清理缓存。

个人建议:

根据我的经验,我还建议你查看一下版本发布说明,逐个版本浏览主要的变化。虽然有些功能仍然支持并可以正常使用,但这并不意味着新版本没有提供更好的方法来实现同样的功能。

举个例子,render是在1.3版本中作为render_to_response的替代方案推出的,但它并没有迅速被广泛使用。虽然render_to_response仍然被支持,并且没有被弃用的风险,但跟上时代的步伐总是个好习惯。

另一个个人建议是,使用新的Django版本重新创建应用,然后再复制文件。这是因为新版本在settings.py和其他文件中使用了不同的模板,这样可以立即让你注意到一些新变化(比如在1.5版本中引入的ALLOWED_HOSTS)。

祝你好运!希望这个过程不会痛苦。

附言:可以考虑再等一段时间——Django 1.7即将发布,预计将是自Django 1.0以来最大的版本更新不过,从1.6升级到1.7可能会比从1.3升级到1.7更简单。我不确定最佳的做法是什么,但可以考虑一下。

撰写回答