django一般怎样调试?
djangot 调试的两种方法:
1.常用的print方法,由于使用python manage.py runserver实际是通过启动子进程的方式,子进程的标准输出不知道是到哪儿了,所以只有让调试服务器不以子进程的方式进行,可以用如下命令:python manage.py runserver --noreload,这样print出来的信息就可以在终端看到了,但是这样作,每次python代码有修改,就要重启服务器。
2.输出log到终端: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'simple': { 'format': '%(levelname)s %(message)s' }, }, 'handlers': { 'console': { 'level': 'DEBUG', 'class':'logging.StreamHandler', 'formatter': 'simple' }, 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler' } }, 'loggers': { 'django.request': { 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True, }, 'mylogger': { 'handlers' : ['console',], 'level': 'DEBUG' } } } 然后在要用的地方,比如views.py中: import logging logger = logging.getLogger('mylogger') #记录log logger.debug('something')