社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

Django1.5与旧Django版本的一些变化

djangolover • 11 年前 • 7193 次点击  

向大家分享一下他们之间的变化 ~~

可配置的User model

Django 1.5版本最大的变化莫过于允许用户使用自定义的User Model,来代替已经使用了6年的Django内置User Model。在1.5版本之前,如果你想使用django用户认证模块(django.contrib.auth)就必须使用django内置的User Model,而在1.5版本(及以后),你可以使用自定义的User Model,来包含自己想要的字段(Twitter, Facebook, 大email字段等)

实验性质的支持Python 3

Django 1.5将会实验性的支持Python 3。目前来说python应用程序从py2到py3的移植还很复杂,所以不推荐在生产环境中使用。Django 1.6版本将会完全支持python 3。

更新数据只保存部分字段

在新版本里,你可以在model的save方法里使用一个update_fields参数,来指定哪些字段需要保存更新,而不是所有字段都更新。这样做是为了并发操作,并且提升了性能。示例如下:

obj.name = 'Adam'
obj.age = '25'

# This will only update the name field.
obj.save(update_fields=['name'])

{% verbatim %} template tag

Django 1.5将会增加一个新的template tag {% verbatim %},这个标签用于对一些使用其他的javascript框架有和django类似的标签时作用重大,使用这个标签中的代码,django将不会去解析其中的javascript标签。

不再需要404.html和500.html模板

在之前版本的django项目中,我们必须保证模板根目录下有404.html和500.html这两个文件,否则(在生产环境中)会报错。相当多的初级django开发人员都遇到过至少一次这样的问题。新版本将会提供这两个默认的模板,当然,如果你想在404和500页面更好看的话,还是需要自己来实现这两个模板。

新URL

1.5弃用,1.7将删除。很显然每个版本django都弃用一些不需要或者很少用的功能。

AUTH_PROFILE_MODULE

AUTH_PROFILE_MODULE 和 get_profile()对于即将可以自定义的User Model来说已经是过时了,不过,如果你仍然想使用用户model的关联表来保存数据的话,最好的建议是使用OneToOne字段来关联。

SimpleJson

因为Django 1.5下降为Python 2.5的支持,他们现在可以依靠的json模块,包括与Python 2.6 +。这可能有一些未知的副作用,但在大多数情况下,应该没区别。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/137
 
7193 次点击  
文章 [ 2 ]  |  最新文章 11 年前