django - 如何调试 Django 1.8 AppConfig?

标签 django django-registration django-signals django-logging

我使用的是 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/

相关文章:

django - 在 Django 中创建对象时增加整数

python - django-注册 "registery isn' t 准备就绪”错误

python - 根据 django-guardian 权限覆盖 get_queryset

Python/Django 2.0/Bootstrap3 : Retrieving data from db based on form inputs using Django

python - 使用 Django 以表单形式生成和提交动态数量的对象

Django-注册设置无需密码

django - django 1.5 自定义用户模型的子类化 django-registration 1.0 表单

django - 有没有办法列出 Django 信号?

python - Django pre_delete 信号被忽略

python - 在 CPanel 上部署 django