我应该使用哪个版本的Django?

时间:2015-09-08 15:05:06

标签: python django

我刚刚接管了具有以下要求的Django项目的代码:

Django==1.6.8
Pillow==2.6.1
South==1.0.1
django-grappelli==2.6.3
django-tastypie==0.12.1
requests==2.4.3
simplejson==3.6.5
python-amazon-product-api==0.2.8
MySQL-python==1.2.3

我是Django的新手,想知道我是否应该更新到更新的版本,或者是否可以继续使用1.6.8版本?目前使用的Python版本是2.7.6。

我现阶段不想对代码进行很多更改。

3 个答案:

答案 0 :(得分:4)

你应该升级。 Django 1.6.X已经使用了几个月,并且不再接收安全更新。

在撰写本文时,supported versions为1.4.X LTS,1.7.X和1.8.X LTS。如果您不想经常升级,请升级到1.8.X,因为它是长期支持版本,并且根据the roadmap将在2018年4月之前得到支持。

您应始终升级到最新的点版本,例如1.8.4到1.8.5,以确保您有最新的错误和安全修复程序。这些点版本尽可能向后兼容。通过运行1.6.8,您将丢失1.6.9 - 1.6.11中的错误修正和安全修复程序。但是,即使Django自1.6.11以来已经有其他安全版本,也不会有1.6.12版本,因为1.6现在已经过期了。

答案 1 :(得分:1)

如果您不想对代码进行任何更改,请仅升级到django 1.6.X版本(出于安全原因)。我只是查看了页面,1.6中的最后一个版本是1.6.11,但此版本已弃用,将来不会再收到任何更新。

如果你和你的团队正在使用像virtualenv或vagrant这样的东西并且进行了大量的测试,你可以进行实验,但是从1.6开始,很多事情都会发生变化。

答案 2 :(得分:1)

作为刚刚从Django版本升级应用程序的人,这是我的经历:

好的

  • 升级到LTS版本将为您提供很多帮助。
    • 安全修复程序 - 您不想在未修补的软件上运行生产应用程序
    • 将有一个经过验证的移植路径到下一个LTS版本(我希望......)
    • 您将有一段很长的时间可以在下一次升级(因为两个LTS版本之间会有很长的重叠)
  • 如果您要进行新的开发,实际上可能需要新功能。
  • (IMHO)在关键部件上落后很多。您绝对 迁移的那一天,可能没有明确的迁移路径,并且还有很多令人头痛的问题。

糟糕

  • 很多事情都发生了变化,最明显的是South被Django迁移所取代。您必须彻底重新测试整个应用程序。某些第三方依赖项可能无效或可能需要升级,从而破坏了您的应用程序。
  • 您将失去所有以前的南迁移。

丑陋的

  • 由于South-gt; Django迁移问题,有一些问题直接从1.6到1.8。至少,您应该在生产数据库的副本上尝试几次迁移步骤。