Django问卷应用模型导入触发AppRegistryNotReady错误求助
问题解决步骤
1. 修正INSTALLED_APPS配置
你的settings.py里错误地将survey.urls加入了INSTALLED_APPS列表,这是触发错误的核心原因。INSTALLED_APPS仅需包含Django应用的配置类或应用名称,而非URL模块。
修改后的settings.py:
INSTALLED_APPS = [ 'survey.apps.SurveyConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
2. 移除手动添加的django.setup()调用
不要在views.py中手动调用django.setup(),Django启动时会自动完成应用初始化流程,重复调用会触发RuntimeError: populate() isn't reentrant错误。
3. 验证修复
保存修改后,重新运行开发服务器:
python manage.py runserver
错误原因说明
Django启动时会依次加载INSTALLED_APPS中的应用。你错误地将survey.urls加入列表,导致Django在初始化应用阶段就尝试导入URL模块,进而导入视图和模型。此时Django的应用注册表还未完成加载,因此抛出AppRegistryNotReady错误。手动调用django.setup()会导致Django重复执行应用填充流程,触发不可重入的populate()错误。
内容的提问来源于stack exchange,提问作者Jaideep Shekhar
相关产品推荐
相关产品推荐

