以下记录都是我在开发中遇到的问题,不绝对,仅供参考
1.SyntaxError: Non-ASCII character '\xe5' in file *******
原因:python的默认编码文件是用的ASCII码,而你的python文件中使用了中文等非英语字符。
解决:在发送错误的文件第一句加上# coding=UTF-8(等号换为”:“也可以)或者# -*- coding:UTF-8 -*-
2.'ascii' codec can't decode byte 0xe5 in position 6: ordinal not in range(128)
原因:编码问题
解决办法:
在文件开头加上
import sys
reload(sys)
sys.setdefaultencoding('utf8')
指定默认编码类型
3.OperationalError :no such table: django_session
原因:没做迁移。
解决:做迁移。
4.A server error occured.Please contact the administrator.
原因:配置
问题:我这里是因为该在INSTALLED_APPS配置的,写在了MIDDLEWARE_CLASSES中。
6.Django admin管理页面添加英文数据可以,添加中文报错,用屁股想想,肯定编码问题了,这里我没有截图,我的问题是数据库没有指定字符集,我试图改数据库的编码格式:
mysql> show variables like 'character%';
看下编码格式,把非u8编码的都改成u8,
set ***=utf8
还是不行,无奈,重新建数据库,重新生成迁移文件做迁移,欧克了。
7.TypeError at /***
***() takes exactly 1 argument (0 given)
原因:一种情况是urls的匹配规则里面加了小括号做取值,views的处理函数里面没有用形参接收,还有一中情况是urls的匹配规则后面的views执行参数加了括号,比如应该是 url(r'^herolist$',views.herolist),却写成了 url(r'^herolist$',views.herolist())。
8.“==”号两边没有用空白格开