from __future__ import unicode_literals

在python3中默认的编码采用了unicode, 并取消了前缀u. 如果代码要兼容python2/3, 就很麻烦了. 下面的两个选择都不方便:


1. 字符串前面不加u. 这种处理方式多数情况下没有问题, 比如print输出, 但因为汉字在py2和py3的编码方式不一样, 如果进行编码转换就麻烦了.


2. 加python版本判断, if sys.version < '3', 字符串不加前缀u, 如果是py2, 加上前缀u. 这样代码显得很拖沓.


3. 现在有第3种, 比较好的方法是引入unicode_literals,

from __future__ import unicode_literals , 这样在py2下, '你好'这样的字符串不用家前缀u, 也是unicode编码.


你可能感兴趣的:(Django)