Django信号注册引发错误的AppnameConfig.name错误

时间:2017-12-13 19:35:55

标签: django django-settings django-signals django-1.11

我正在开发一个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注册信号?

1 个答案:

答案 0 :(得分:1)

name属性是完整的Python路径,因此在您的情况下,它应该是"apps.common",而不是"common"

class CommonConfig(AppConfig):
    name = "apps.common"
相关问题