博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django从1.8升级到2.0注意事项
阅读量:6421 次
发布时间:2019-06-23

本文共 1331 字,大约阅读时间需要 4 分钟。

 

我公司从2015年开发自动化部署平台,当时选用的开发框架是Django1.8版本。这两年多来,基于其上,很好的满足了我们的开发需求。

由于Django的产品周期问题,我们决定将Django从当前开发的1.8版本升级到2.0版本,此新最版本已不再支持python2,所以开发语言也需要相应升级到3.6版本。其间几个重要的变更技术点节录如下(以更改过程为主,不区别django还是python变更,且django中的变化也不一样是2.0中才开始具有的):

 6d23625d8a884ea4bee46a3b31bf1021d53c8d6c

1, print

Python3中,print从语句变为函数,所以所有的print语句需要改成print()

2,on_delete

django 2中,modelson_delete=models.XXX不再是默认选项,需要显性指定

3, reverse

在新版本django,这些包不再归于core,而是属于django.urls,需要更改import路径

4, MIDDLEWARE

在新版本django,中间件的key值由MIDDLEWARE_CLASSES变更为MIDDLEWARE

5, SessionAuthenticationMiddleware

在新版本djangoSessionAuthenticationMiddleware这个中间件不需要了。

6, render_to_response

新版本djangorender_to_response不建设使用,改为使用render函数。

7, 从__unicode__到__str__

新版本python后,djangomodels定义需要从__unicode__变更到__str_

8,dict的'has_key'方法弃用

新版python中字典的has_key方法取消,建议用”str” in dict判断

9, Direct assignment to the forward side of a many-to-many set is prohibited

新版django中,orm多对多外健不再用=等赋值,改为set方法

new_list = [obj1, obj2, obj3]

e.related_set = new_list === e.related_set.set([obj1, obj2, obj3])

10, Only byte strings can be passed to C code

在使用PyCryptodomeAES加密解密时,注意python3decodeencode的使用

11,html输出时,byte如何转换成unicode?(网页输出是b’’)

str(b'','utf8')可以吧BYTES转换成unicode;bytes('','utf8')反向操作

12, orm migrate

django升级之后,makemigration重作,migrate可能需要手工增加on_delete=models.XXX

13,python中virtualenv如何具有通用性?

如果安装好新版python3解释之后,通过更改active文件中的路径,可以实现拷贝目录通用.

 

 

 

 

转载地址:http://axcra.baihongyu.com/

你可能感兴趣的文章
会议室预定系统实践(轻松解放开发) - PostgreSQL tsrange(时间范围类型) + 排他约束...
查看>>
Linux监控平台介绍,zabbix监控介绍,安装zabbix,忘记Admin密码如何做
查看>>
公众号消息会话开发
查看>>
浅谈 SpringBoot 注解大全
查看>>
技术沙龙|区块链商用落地的策略与技术坑-区块链扩展和Fabric商用(杭州)
查看>>
Nginx自学手册(四)反向代理和缓存
查看>>
我的友情链接
查看>>
Cocos2d-x 3.1 Director ActionManger Scheduler初步分析
查看>>
记一次项目实施中的时间把控
查看>>
cisco+H3C交换机SSH配置实例
查看>>
lucene当中的各种query(三)
查看>>
互联网产品经理常用工具有哪些
查看>>
jdk 与jre的区别
查看>>
日志审计系统的全部不见得都是审计
查看>>
嵌入式开发之C基础学习笔记05--模块化设计和函数的使用
查看>>
我的友情链接
查看>>
java读写文件大全
查看>>
vue2.0自学教程(一):走进vue2.0大观园
查看>>
Spring的常用注解
查看>>
EMC测试
查看>>