2

我正在使用 Django 1.8。

我正在尝试连接django-registration user_registration 信号

要连接信号,这篇文章非常明确:使用AppConfig.ready()。我想我已经正确连接了它,但显然我没有,因为它不起作用。所以,为了看看发生了什么,我故意在我的registrationapp/__init__.py中拼错了配置类的名称:

default_app_config = 'registrationapp.apps.RegistrationAppConfgOOPS'

我没有看到任何错误消息或任何消息。

如何判断是否正在加载registrationapp/__init__.py,以及是否正在创建和加载正确的应用配置?

顺便说一句,我完全按照这里的描述设置了控制台日志记录,但它并没有在控制台中记录太多,不知道为什么。(它确实记录了 GET 请求,但它们看起来是不同的记录。)

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
        },
    },
}
4

1 回答 1

2

我如何判断是否registrationapp/__init__.py正在加载?

一个非常简单的方法是在其中放置一个顶层print()。如果已加载,您将看到输出。

...如果正在创建和加载正确的应用程序配置?

同样的,print()在你的应用配置文件中放一个。

我只是尝试在我的项目中使用虚假名称,default_app_config而 Django 提出了一个AttributeError,所以我认为确实没有找到您的应用程序。

关于日志记录,文档是这样说的:

默认情况下,此配置仅将级别为 INFO 或更高级别的消息发送到控制台。Django 不会记录很多这样的消息。设置环境变量 DJANGO_LOG_LEVEL=DEBUG 以查看 Django 的所有调试日志,这非常详细,因为它包括所有数据库查询。

所以尝试os.getenv('DJANGO_LOG_LEVEL', 'DEBUG')改用。

于 2015-08-16T17:24:27.937 回答