运行时错误:模型类django.contrib.sites.models.Site没有声明明确的app_label,并且不在INSTALLED_APPS中的应用程序中。

108
我正在使用Django Rest Framework和AngularJs构建一个应用程序。我正在使用Django-rest-auth进行身份验证,但是我还没有能够设置它。无论如何,我正在尝试在我的项目中设置此app。我意识到我需要安装django-rest-auth-registration才能运行它,因此我按照这个文档做了以下事情:
我运行了以下命令

pip install django-rest-auth

pip install django-allauth

我的settings.py看起来像这样:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # 3rd party apps
    'rest_framework',
    'rest_framework.authtoken',
    'rest_auth',
    'allauth',
    'allauth.account',
    'rest_auth.registration',

    # My app
    'myapp',
]

我还添加了身份验证后端、上下文处理器和正确的URL。
然而,当我尝试迁移时,终端会抛出以下错误:
“运行时错误: 模型类django.contrib.sites.models.Site没有声明明确的app_label,也不在INSTALLED_APPS中的应用程序中。”
我为什么会得到这个错误,如何解决它以便迁移我的项目?谢谢!

这个回答解决了你的问题吗?Django模型“没有声明明确的app_label” - Qumber
我发现问题出在settings.py中没有为新创建的应用程序包含应用程序定义。在INSTALLED_APPS中添加'<app>.apps.<AppConfig>'后,Django就能够理解它是一个已注册的应用程序了。 - Tanner Dolby
11个回答

-2

在我进行迁移后,一切都按预期工作了

python manage.py migrate

祝好运


目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接