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

Django报错ImportError: 无法从first_project导入first_app如何解决

Django导入first_app报错排查解决指南

这个错误的核心原因是:你在项目配置子目录下的urls.py中尝试从first_project模块导入first_app,但first_app是和项目配置子目录平级的独立应用,不属于first_project模块的内容。

1 先确认目录结构与应用注册

首先检查你的项目结构是否符合Django标准:

first_project/          # 项目根目录(运行manage.py的位置)
├── first_project/      # 项目自动生成的配置子目录
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── asgi.py/wsgi.py
├── first_app/          # 你创建的应用,和上面的配置子目录平级
│   ├── __init__.py
│   ├── views.py
│   ├── urls.py
│   └── apps.py
└── manage.py

确认两个必要配置:

  • 打开first_project/settings.py,在INSTALLED_APPS列表中添加'first_app',完成应用注册
  • 确认first_app目录下存在空的__init__.py文件,Python需要该文件将目录识别为可导入的包

2 修正项目urls.py的配置

报错的直接触发点大概率是first_project/first_project/urls.py里的导入或路由写法错误,按照以下两种方式修正均可:

方案1:字符串引用(无需手动导入应用,推荐)

直接把应用的路由模块写成字符串形式,Django会自动解析,不需要导入first_app:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    # 直接写应用urls模块的路径字符串即可
    path('', include('first_app.urls')),
]

方案2:显式导入应用路由

如果需要显式导入,直接从根路径导入first_app即可,不需要加first_project前缀:

from django.contrib import admin
from django.urls import path, include
# 正确的导入写法,不需要从first_project下导
from first_app import urls as first_app_urls

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(first_app_urls)),
]

3 验证其他配置

  • 检查first_app/urls.py里的视图引用是否和views.py里的函数名完全一致,没有拼写错误
  • 检查所有文件名、变量名的大小写是否匹配,Windows环境对大小写不敏感,但部署到Linux环境会出问题

4 启动测试

修改完成后在项目根目录运行python manage.py runserver,查看是否还存在导入错误。如果还有报错,优先检查是否有拼写错误、应用目录位置是否正确。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 12:36:03