django一般怎样调试

2025-04-16 11:57:56
推荐回答(1个)
回答1:

  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')