You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django运行时错误:ContentType模型未声明app_label且不在INSTALLED_APPS中

Django Runtime Error 解决办法

我的INSTALLED_APPS配置

from pathlib import Path
from . import config
import django
django.setup()
import os
BASE_DIR = Path(__file__).resolve().parent.parent

# 安全警告:生产环境请保密密钥!
SECRET_KEY = 'django-insecure-3hs(_o73c=i#c!s(m4yr@c)4k-3=&381r(y6+qy(8b=4p1@l)l'

DEBUG = True

ALLOWED_HOSTS = []

# 应用定义
INSTALLED_APPS = [
'rest_framework_simplejwt',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'corsheaders',
'users',
'posts',
'settings',
]

运行时错误信息

File "/Users/macbook_air/Desktop/ReactRoute/users/models.py", line 2, in 
from django.contrib.auth.models import AbstractUser,Group,Permission
File "/Users/macbook_air/Desktop/ReactRoute/venv/lib/python3.11/site-packages/django/contrib/auth/models.py", line 5, in 
from django.contrib.contenttypes.models import ContentType
File "/Users/macbook_air/Desktop/ReactRoute/venv/lib/python3.11/site-packages/django/contrib/contenttypes/models.py", line 139, in 
class ContentType(models.Model):
File "/Users/macbook_air/Desktop/ReactRoute/venv/lib/python3.11/site-packages/django/db/models/base.py", line 134, in __new__
raise RuntimeError(
RuntimeError: Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

解决步骤

  1. 删除settings.py中的以下代码:
    import django
    django.setup()
    
  2. 保存修改后的settings.py文件
  3. 重新启动Django项目

原因说明

django.setup()是用于在独立脚本(非Django项目默认启动流程)中初始化Django环境的方法,在settings.py中提前调用会导致Django还未完成配置加载就初始化,进而无法正确识别INSTALLED_APPS中的django.contrib.contenttypes应用,引发上述错误。

内容的提问来源于stack exchange,提问作者Арзбек

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:27:50