Django中常遇到的错误问题
作者:励志师code
在Django开发中,设置DEBUG=False时需要配置ALLOWED_HOSTS以防止报错,此外,如果django-admin.py命令找不到,需添加Django的安装路径到系统环境变量,此文还提供了一些常见Django错误的解决方法,如数据库添加中文报错、信号无法触发等问题
Django中常遇到的错误问题
这条是我今晚遇到的错误,下面的是借鉴别的大佬的经验的。
今晚遇到的错误是
You're seeing this error because you have DEBUG = True in your Django settin
于是我就把setting配置文件中的DEBUG 改成了False 但是在我改完以后又出现了
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
这个问题于是就有了下面第四条的情况,有相同情况的小伙伴可以借鉴一下我的解决办法。
1.django向数据库中添加中文时报错
解决方案:
- 创建数据库的时候设置编码格式
2.django的信号使用无法触发信号里的内容
解决方案:
- 在django 1.7后,使用信号时候需要在应用配置类中的ready() 方法中连接。
- 所以我们需要配置先ready()
- 需要在以下两个地方写入配置
- 需要在项目的app.py,init.py两个文件中写入配置
3.django-admin.py:未找到命令
解决方案:
- 将django的安装路径添加到环境变量中,
- 一般的安装路径在python目录下的\Lib\site-packages\Django-1.8-py2.7.egg\django\bin,
- 可能有不同,总之在python安装目录下找到django\bin即可。
- 添加完环境变量后记得重启命令提示符,否则还是提示错误。
4.我把DEBUG=True设为False的时候运行python manage.py runserver的时候
报错 :
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
解决方案:
- 在 setting.py 中添加
ALLOWED_HOSTS = [‘127.0.0.1‘, ‘localhost‘]
5.外部机器无法访问本站点
- 然后在settings里修改
ALLOWED_HOSTS = []
- 改为
ALLOWED_HOSTS = [‘*',]
6.django解决跨域请求的问题
解决方案:
- 添加中间件,安装django-cors-headers
- 配置settings.py文件,添加
MIDDLEWARE_CLASSES = ( … ‘corsheaders.middleware.CorsMiddleware', ‘django.middleware.common.CommonMiddleware', # 注意顺序 … ) #跨域增加忽略 CORS_ALLOW_CREDENTIALS = True CORS_ORIGIN_ALLOW_ALL = True CORS_ORIGIN_WHITELIST = ( ‘*' )
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。