如何将Django项目从1.3.7升级到1.6或1.7?
我有一个Django项目需要升级。我应该先在1.6版本上新建一个项目,然后把1.3版本的内容一个一个地转移过去,还是有其他更简单的方法呢?
1 个回答
9
根据文档的建议,升级可以分步骤进行。
- 首先,创建一个新的虚拟环境,然后在里面安装新的Django版本,以及你应用所需的所有依赖项。这样可以让新旧版本相互独立,不会互相影响。
- 接着,创建并运行一个测试套件。确保用
-Wall
命令来运行测试,这样可以显示所有的警告信息。 - 在部署时,记得清理缓存。
个人建议:
根据我的经验,我还建议你查看一下版本发布说明,逐个版本浏览主要的变化。虽然有些功能仍然支持并可以正常使用,但这并不意味着新版本没有提供更好的方法来实现同样的功能。
举个例子,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更简单。我不确定最佳的做法是什么,但可以考虑一下。