首页 > 代码库 > Django Restframework 实践(二)
Django Restframework 实践(二)
估计这个问题是2.7的问题3.0好像就统一utf编码了
报错代码:
python :ascii codec can‘t decode byte 0xe8 in posi
当django中报这个错误的时候,如果有比较详细的文件路径还好说就可以针对这个文件进行编码处理。但是如果报错中没有文件路径那肯定要疯掉。
针对没有具体的文件路径解决办法:
在这个地方增加代码,manage.py
#!/usr/bin/env pythonimport osimport sysif __name__ == "__main__":
#重新加载sys reload(sys)
#设置编码为utf-8 sys.setdefaultencoding(‘utf-8‘)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cmdbs.settings") from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)
这样直接在入口更改就OK了
那么为什么要重新加载,而直接引用过来则不能调用该函数呢?
因为setdefaultencoding函数在被系统调用后被删除了,所以通过import引用进来时其实已经没有了,所以必须reload一次sys模块,这样setdefaultencoding才会为可用,才能在代码里修改解释器当前的字符编码。
Django Restframework 实践(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。