我正在开发一个Django应用程序1.11
,例如我希望电子邮件应该在用户注册后发送,所以我决定使用信号发送电子邮件,现在而不是将信号处理程序和注册代码放在模态文件中,我当我尝试在signals.py
中的ready
方法上导入signals.py时,在我的应用文件夹中创建了CommonConfig
,但收到如下错误
django.core.exceptions.ImproperlyConfigured:无法导入' common'。检查' apps.common.apps.CommonConfig.name'是对的。
我的项目文件夹结构类似于
/myproject
/myproject
/apps
/common
/configs
/settings
/static
/templates
已安装的应用看起来像关注
INSTALLED_APPS = [
'django.contrib.messages',
'django.contrib.staticfiles',
'storages',
'rest_framework',
'apps.common.apps.CommonConfig',]
我的apps\common\apps.py
看起来像是
`
from django.apps import AppConfig
class CommonConfig(AppConfig):
name = "common"
`
我在这里犯了什么错误,如何用django注册信号?
答案 0 :(得分:1)
name
属性是完整的Python路径,因此在您的情况下,它应该是"apps.common"
,而不是"common"
。
class CommonConfig(AppConfig):
name = "apps.common"