升级Django 0.96到1.0的最佳方法是什么?
我应该尝试升级我现在的应用,还是干脆从头开始重写,尽量保留一些可以用的部分(比如模板等)呢?
5 个回答
2
只需要升级你的应用程序就可以了。从0.96版本到1.0版本的变化很大,但在向后不兼容的改动方面,我觉得你的应用程序可能连10%的变化都没有。
在Django 1.0之前,我一直在使用开发版本,所以对我来说,这个过渡是逐渐的。不过,即便如此,我需要改动的主要内容也就几个:newforms、newforms-admin,还有str()变成unicode(),以及maxlength改成max_length。
其他大部分变化都是新功能、后端重写,或者是一些作为一个只是在做基础网站的人根本接触不到的东西。
3
升级。对我来说,这很简单:把 __str__()
改成 __unicode__()
,写一个基本的 admin.py
,就完成了。只需在1.0版本上运行你的应用,测试一下,当遇到错误时,可以查看不兼容的变更文档,看看怎么解决问题。
7
虽然这要看你在做什么,但大多数应用程序在升级后应该能顺利运行,然后再修复那些出问题的地方。根据我的经验,升级后我通常需要修复的主要问题有:
模型的一些奇怪变化,比如跟外键相关的语法变了。
少量模板的变化,最明显的是自动转义的处理。
任何依赖于Django内部结构的东西。除非你在做一些动态修改Django内部行为的事情,否则这应该不会成为问题。
总的来说,除非你在做一些非常奇怪或者复杂的事情,简单的升级应该不会太麻烦,只需要做几个小改动就可以了。