Django Errors Archive

记录使用 Django 开发中遇到的问题,备用

1. 版本要选好,最好安装上 pip,可以省很多麻烦

2. 如果使用 Postgresql,选 8.1 之后的版本,免去 Retruning 之类的错误

3. 如果使用 easy_install 安装 Django 的第三方包,但使用时出现如下错误:

OSError: [Errno 20] Not a directory: 'xxx/site-packages/django_xxx.egg/xxx/xxx'

可以先用以下方法来非 egg 版本的第三方包:

pip uninstall xx
easy_install --always-unzip xxx

4. 没花心思学习 javascript 导致误事:在 Django 中使用 django_bootstrap3 时,没有在 settings.py 中重设 BOOTSTRAP3 字典变量,导致 jquery 载入两次,调了很久!

5. HTML 语法不熟悉:如果组件的逻辑没问题,但测试失败,可能是 html 小节没注意,比如提交到错误地址之类。另外,JS 的加载顺序很重要

6. urls.py 配置注意语法 r'^dir' 匹配 domain/dir 会可能会提示 500 内部错误,因为 url 配置中缺少 /

7. Chrome 的开发者工具(F12)中的 Network 功能对于排错很有帮助!

8. It's really not a good idea to programming or working in root mode: when I run celery (with rabbitmq) under non root mode and test task function under root mode, it always throws exception: pickle error, result backend not configured ... faint!

9. show client ip when executing runserver in develop mode:

sudo vim /usr/local/share/python2.7.10/lib/python2.7/site-packages/django/core/servers/basehttp.py
# change to: msg = "[%s] (%s) " % (self.log_date_time_string(), self.client_address[0])

10. show detail error when executing runserver in develop mode:

# Appending the following lines to settings.py
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'level': 'ERROR',
            'class': 'logging.StreamHandler',
            'stream': sys.stderr
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['console'],
            'propogate': True,
            'level': 'ERROR',
        }
    }
}
原文地址:https://www.cnblogs.com/exclm/p/4254093.html