指定数据库引擎后Django应用仍无法找到引擎,请求技术支持
问题诊断与解决
从你的目录结构和报错信息来看,核心问题是Django没有加载到你编写的settings.py文件,导致默认使用了dummy数据库后端,才会触发数据库配置错误提示。
关键原因
你的settings.py位于randoplant/randoplant_app/子目录下,但根目录的manage.py默认会尝试加载randoplant.settings(即根目录下的settings.py),而这个文件并不存在,所以Django只能使用空配置,进而报错。
修复步骤
1. 修改manage.py的settings模块路径
打开根目录下的manage.py,找到这一行代码:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'randoplant.settings')
将其修改为:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'randoplant.randoplant_app.settings')
修改后,manage.py就能正确定位到你写的settings文件。
2. 验证配置并重新执行迁移
修改完成后,先运行检查命令确认配置有效:
python manage.py check
如果没有报错,再执行迁移命令:
python manage.py migrate
备选方案(临时指定settings)
如果不想修改manage.py,也可以每次运行命令时显式指定settings模块路径:
python manage.py migrate --settings=randoplant.randoplant_app.settings
额外检查项
确保你的randoplant_app已经添加到settings.py的INSTALLED_APPS列表中:
INSTALLED_APPS = [ # 其他默认应用 'randoplant_app', ]
内容的提问来源于stack exchange,提问作者Syllogism
相关产品推荐
相关产品推荐

