这篇文章主要介绍“Django从1.8升级到2.0需要注意什么”,在日常操作中,相信很多人在Django从1.8升级到2.0需要注意什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“Django从1.8升级到2.0需要注意什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1,打印
<强> Python3 强> <强>中,打印强> <强>从语句变为函数,所以所有的打印强> <强>语句需要改成打印()强>
2, on_delete
<强>在Django 2 强> <强>中,模型强> <强>中on_delete=模型。XXX 强> <强>不再是默认选项,需要显性指定强>
3,反向
<强>在新版本django 强> <强>中,强> <强>这些包不再归于核心强> <>强,而是属于django。url 强> <强>包,强> <强>需要更改进口强> <强>路径强>
4,中间件
<强>在新版本django 强> <强>中,强> <强>中间件的关键强> <强>值由MIDDLEWARE_CLASSES 强> <强>变更为中间件强>
5, SessionAuthenticationMiddleware
<强>在新版本django 强> <强>中SessionAuthenticationMiddleware 强> <强>这个中间件不需要了。强>
6, render_to_response
<强>新版本django 强> <强>中render_to_response 强> <强>不建设使用,改为使用渲染强> <强>函数。强>
7,从__unicode__到__str__
<强>新版本python 强> <强>后,django 强> <强> 强> <强>的模型定义需要从__unicode__ 强> <强>变更到__str_ 强>
8、dict的& # 39;has_key& # 39;方法弃用
<强>新python版强> <强>中字典的has_key 强> <强>方法取消,建议用“str”dict 强> <强>判断强>
9日向前直接赋值的多对多组禁止
<强>新版django 强> <强>中,orm 强> <强>多对多外健不再用=强> <强>等赋值,强> <强>改设置为强> <强>方法强>
new_list=[其中obj1、methoda obj3]
e。related_set=new_list===? e.related_set。集([其中obj1 methoda obj3])