将Google App Engine应用程序从Django 0.96迁移到Django 1.2

时间:2011-04-30 20:02:47

标签: django google-app-engine django-1.2

我将很快开始将使用默认版本Django(0.96)构建的不同Google App Engine应用程序移植到Django 1.2。除了i18n之外,我通常不会使用任何特定的Django模块来翻译网站。

我打算浏览backwards-incompatible changes to Django from 0.96 to 1.0和不同的Django release notes。这些是0.96和1.2之间可用的当前发行说明:

  • 1.2发布
    • Django 1.2.5发行说明
    • Django 1.2.4发行说明
    • Django 1.2.2发行说明
    • Django 1.2发行说明
  • 1.1发布
    • Django 1.1.4发行说明
    • Django 1.1.3发行说明
    • Django 1.1.2发行说明
    • Django 1.1发行说明
  • 1.0发布
    • Django 1.0.2发行说明
    • Django 1.0.1发行说明
    • Django 1.0发行说明

我想知道是否有更好的方法来执行此迁移/升级,或者如果已经完成此操作的人会提供一些有用的提示。我知道有很多阅读,这不是我想要阻止的,而是更多的指示来平滑这个过程。

我有不同的迁移应用程序,但会以simple/small application开头,以获得它的要点。

2 个答案:

答案 0 :(得分:2)

我的建议是编写一个测试套件来覆盖你的UI行为,而不是试图弄清楚Django 0.96和1.2之间发生了什么变化。您可以使用新的testbed framework对每个模板进行单元测试,或者使用类似Selenium的内容编写基于浏览器的完整集成测试。

一旦你有工作测试,只需更新Django,重新运行你的测试,看看有什么中断。如果您有集成测试,您还可以通过uploading a non-default version测试您对生产的更改。

答案 1 :(得分:0)

我最近设法升级了我的相当大的application,并且一旦知道该怎么做就很容易。除了上面描述的加载django 1.2之外,我还要进行3次更改:1)将i18n导入更改为我们称之为_ i18n的函数的其他所谓的延迟导入。 2)我不得不改变一些你可能没有的RSS处理。 3)不再使用人性化库。一旦知道如何进行实际升级只花了我大约5或10分钟。