錯誤提示:
RuntimeError at /home/
Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
原因剖析:
博主在使用pycharm創建Django項目的時候,沒有直接創建Django項目,而是創建的Python普通項目,然后通過命令pip install django==3.2 手動安裝的,又由于是要學習Django的DRF框架,所以通過命令 pip install djangorestframework 安裝了DRF。
在學習DRF時,由于用不到Django項目自帶的 一些APP,在settings的INSTALLED_APPS中注銷了如下部分:
# 'django.contrib.admin',# 'django.contrib.auth',# 'django.contrib.contenttypes',# 'django.contrib.sessions',# 'django.contrib.messages',
淺顯原因分析:在啟動Django項目時,會調用到?django.contrib.contenttypes ,由于被注銷了,所以報錯。根本原因是Django在匿名登錄啟動時,認證組件中的你們用戶導致。我這里寫的比較簡單,如果想深究里面原因,在B站找武沛齊老師的Django課程,里面有詳細的介紹。
解決辦法:
在settings中加入如下配置:
REST_FRAMEWORK={"UNAUTHENTICATED_USER": None,
}