参考《Python Crash Course》开发Django项目报错无法正常运行如何解决?
问题根因
报错的直接原因是你直接将models.py作为独立脚本执行。Django的所有代码运行都依赖项目的全局配置初始化流程,单独运行单个模型文件不会触发配置加载、应用注册等前置操作,因此会抛出找不到INSTALLED_APPS配置的错误。
解决步骤
- 第一步:确认应用已注册
打开项目根目录下的learning_log/settings.py,找到INSTALLED_APPS配置项,把你的应用加入列表:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 新增你的学习日志应用 'learning_logs', ] - 第二步:执行模型迁移验证代码正确性
终端切换到项目根目录(包含manage.py文件的目录),依次执行以下两条命令:
没有报错就说明你的模型代码写的完全正确。python3 manage.py makemigrations learning_logs python3 manage.py migrate - 第三步:模型测试的正确方式
如果你需要测试模型的增删改查功能,不要直接在models.py中写测试代码运行,要先执行python3 manage.py shell进入Django专属交互环境,再导入模型进行操作,示例如下:from learning_logs.models import Topic # 新增主题 topic = Topic(text="Django入门") topic.save() # 查询所有已创建的主题 print(Topic.objects.all())
内容的提问来源于stack exchange,提问作者peterpan
相关产品推荐
相关产品推荐

