【发布时间】:2016-05-25 03:20:57
【问题描述】:
我正在使用 Django Rest Framework 和 AngularJs 构建应用程序。我使用 Django-rest-auth 进行身份验证,但我无法设置它。无论如何,我正在尝试用我的项目设置这个app。我意识到我需要安装 django-rest-auth-registration 才能让它运行,所以我按照documentation 做了以下事情:
我运行了命令
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。
但是,当我尝试迁移时,我的终端会抛出以下错误:
RuntimeError:模型类 django.contrib.sites.models.Site 没有 声明一个显式的 app_label 并且不在应用程序中 INSTALLED_APPS。
为什么会出现此错误,如何解决此错误以迁移我的项目?谢谢!
【问题讨论】:
-
我发现问题源于未在
settings.py中为新创建的应用程序包含应用程序定义。将'<app>.apps.<AppConfig>'添加到INSTALLED_APPS后,Django 就知道它是一个注册的应用程序。
标签: django django-rest-framework django-rest-auth