3

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

我计划了解Django 从 0.96 到 1.0 的向后不兼容的更改以及不同的 Django发行说明。这些是 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 发行说明

我想知道是否有更好的方法来进行此迁移/升级,或者已经完成此操作的人是否会有一些有用的提示。我知道这涉及到很多阅读,这不是我想要阻止的,而是更多地获得指针以使这个过程更顺畅。

我有不同的应用程序要迁移,但将从一个简单/小型的应用程序开始以了解它的要点。

4

2 回答 2

2

与其试图找出 Django 0.96 和 1.2 之间发生的所有变化,我的建议是编写一个测试套件来涵盖您的 UI 行为。您可以使用新的测试平台框架对每个模板进行单元测试,或者使用Selenium之类的东西编写完整的基于浏览器的集成测试。

一旦你有工作测试,只需更新 Django,重新运行你的测试,看看有什么问题。如果您有集成测试,您还可以通过上传非默认版本来针对生产测试您的更改。

于 2011-04-30T20:33:16.137 回答
0

I recently managed to upgrade my rather large application with experience that it was very easy once knowing what to do. In addition to getting django 1.2 loaded which is described above I had to make 3 changes: 1) change the i18n import to some other so-called lazy import for the function we call _i18n has. 2) I had to change some RSS handling that you probably don't have. 3) The humanize library is no longer used. Once knowing how to do it making the actual upgrade only took me about 5 or 10 minutes.

于 2011-05-02T09:01:40.827 回答