将项目从Django 1.4 升级至Django 1.6.2 源码修改的三个步骤

将项目从Django 1.4 升级至Django 1.6.2 源码修改的三个步骤,有需要的朋友可以参考下。


年后上班第一天,看到Django最新的稳定版本已经升级到。手上暂时没有其他的事,就尝试将原来在1.4下的代码迁移到1.6下。安装什么的就不说了,pip什么的自己玩去。完成升级以后,将以前的一个项目复制过来以后发现有些问题。总结一下,通过三个步骤修改源码,来避免错误。
1、指定session序列化方式
错误:TypeError: set([]) is not JSON serializable修改方法
在settings.py增加如下一行。
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer' 
2、修改各模块中urls.py文件 错误:ImportError: No module named defaults 修改方法: 由于在django1.6之后,django.conf.urls.defaults已经不再被支持。 from django.conf.urls.defaults import * 改为from django.conf.urls import patterns, url, include 批量修改方法: sed -i's/from django.conf.urls.defaults import \*/from django.conf.urls import patterns, url, include/g' */urls.py 
3、修改模板文件中url的书写方式(这项修改在1.5中也需要被修改) 错误: NoReverseMatch at /
'url' requires a non-empty first argument. The syntax changed in Django 1.5, see the docs.  
修改方法:  
<a href="{% url common_business %}"> <a href="{% url 'common_business' %}"> 批量修改方法: sed -i -r -e "s#\{% url ([a-zA-Z0-9_.:-]+)#\{% url '\1'#g" templates/*/*.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值