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

Django使用from . import views报相对导入错误的原因与解决方法

报错原因
  • 单独执行了路由文件:如果你直接运行urls.py这个文件本身,Python会把它视为顶层的独立脚本,不会把它所在的文件夹识别为Python包,相对导入语法里的.自然找不到对应的父包,直接触发报错。
  • 项目目录不符合Django规范:要么urls.py没有放在你创建的App目录下,要么App目录缺少__init__.py标识文件,导致Python无法将该目录判定为可导入的包。
  • App未完成注册:你写路由对应的App没有添加到项目settings.py的INSTALLED_APPS列表中,Django加载模块时不会识别该App为合法的项目组件,自然无法解析相对导入。
  • 模块搜索路径异常:Python的模块搜索路径中没有包含你的项目根目录/ App所在目录,解释器找不到对应的包结构,无法解析相对路径。
解决方法
  • 不要直接运行urls.py:Django的路由文件不需要手动执行,全程通过python manage.py runserver启动项目即可,Django会自动按照项目结构解析路由文件里的相对导入逻辑。
  • 补全规范的目录结构:
    • 把该urls.py放到对应的App目录下,不要直接放在项目根目录
    • 在App目录下新增空的__init__.py文件,确保Python能识别该目录为可导入的包
  • 完成App注册:打开项目根目录下的settings.py,找到INSTALLED_APPS列表,把你的App名称添加进去,示例:
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        '你的App名称' # 新增这一行
    ]
    
  • 确认模块搜索路径:如果是自定义的目录结构,可以在启动文件中临时添加项目根目录到搜索路径,示例:
    import sys
    sys.path.append("你的项目根目录绝对路径")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:15:04