cstar

eli's docs

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

记录使用 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',
        }
    }
}

 

posted on 2015-01-27 21:44  exclm  阅读(242)  评论(0编辑  收藏  举报