我使用的是 Django 1.8。
我正在尝试连接 django-registration user_registration signal .
接线a signal ,这篇文章非常明确:使用 AppConfig.ready() 。我认为我已经正确连接了它,但显然我没有,因为它不起作用。因此,为了看看发生了什么,我故意拼错了registrationapp/__init__.py 中配置类的名称:
default_app_config = 'registrationapp.apps.RegistrationAppConfgOOPS'
我没有看到任何错误消息或任何消息。
如何判断是否正在加载registrationapp/__init__.py,以及是否正在创建并加载正确的应用程序配置?
顺便说一句,我按照描述完全设置了控制台日志记录 here ,但它不会在控制台上记录太多内容,不知道为什么。 (它确实记录了 GET 请求,但它们看起来是不同的日志记录。)
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
},
'loggers': {
'django': {
'handlers': ['console'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
},
},
}
最佳答案
如何判断 registrationapp/__init__.py
是否正在加载?
一个非常简单的方法是在其中放置一个顶级 print()
。如果已加载,您将看到输出。
...是否正在创建并加载正确的应用程序配置?
同样的事情,将 print()
放入您的应用配置文件中。
我刚刚尝试在我的项目中使用 default_app_config
的虚假名称,Django 引发了 AttributeError
,所以我认为确实没有找到您的应用程序。
关于日志记录,documentation说的是:
By default, this config only sends messages of level INFO or higher to the console. Django does not log many such messages. Set the environment variable DJANGO_LOG_LEVEL=DEBUG to see all of Django’s debug logging which is very verbose as it includes all database queries.
因此,请尝试使用 os.getenv('DJANGO_LOG_LEVEL', 'DEBUG')
来代替。
关于django - 如何调试 Django 1.8 AppConfig?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32031904/