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

Django应用无法访问models:已创建flights app却提示找不到模块

解决Django中flights模块找不到的问题

别着急,这个问题是Django新手常碰到的,我来帮你拆解原因和解决办法:

为什么会出现这个错误?

当你用python manage.py startapp flights创建应用后,Django并不会自动把它加入到项目的已注册应用列表里。Python的模块导入机制只会搜索系统路径和项目根目录下的已注册应用,没注册的话,自然找不到flights这个模块。另外,如果在错误的目录下运行shell,或者应用的目录结构不完整(比如缺了__init__.py),也会触发这个报错。

一步步解决问题

  • 把flights添加到项目的INSTALLED_APPS中
    这是最核心的步骤!打开项目根目录下的settings.py,找到INSTALLED_APPS列表,把你的应用加进去。有两种写法:

    INSTALLED_APPS = [
        # 原有默认的应用(比如django.contrib.admin等)
        'flights',  # 简单写法
        # 或者更规范的写法(推荐,尤其是应用有自定义配置时)
        # 'flights.apps.FlightsConfig',
    ]
    

    只有注册了应用,Django才会把它的目录加入到Python的模块搜索路径中。

  • 确保在正确的目录下运行shell
    你必须在包含manage.py的项目根目录下执行python manage.py shell。比如你的项目结构是:

    myproject/
        manage.py
        myproject/
            settings.py
        flights/
            models.py
    

    那你得进入myproject/目录(有manage.py的那个)再运行shell命令。

  • 检查应用目录结构是否完整
    确认flights目录下有__init__.py(空文件就行)和models.py。如果是用startapp命令创建的,这些文件会自动生成;但如果是手动创建的应用,记得补上这两个文件。

  • 重启Django shell
    修改settings.py后,当前的shell进程不会读取新配置,所以输入exit()退出当前shell,重新运行python manage.py shell,再试试from flights.models import *,应该就能成功了。

内容的提问来源于stack exchange,提问作者Husrat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:53:04