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

Django导入landing.views时报No module named 'views'错误求助

错误原因
  • 你在settings.py的INSTALLED_APPS配置项中错误添加了非app的条目,比如填入了views或landing.views,Django在加载注册应用时尝试导入该条目对应模块失败
  • landing应用未正确注册到INSTALLED_APPS中,Django无法识别该应用下的模块
  • 项目目录结构不符合Django规范:landing文件夹下缺少标识Python包的__init__.py文件,或是views.py未放在landing文件夹下,或是你把views做成了子包但没有在__init__.py中导出Index类
  • 你手动添加的sys.path路径、修改的PYTHONPATH环境变量均为错误配置,你添加的是urls.py的文件路径,而sys.path仅识别文件夹路径,多余的路径配置反而干扰了正常的模块查找逻辑
  • landing/views.py中未正确定义Index类视图,或是存在拼写、大小写错误
解决方案
  1. 修正INSTALLED_APPS配置:删除所有错误条目,仅保留landing或landing.apps.LandingConfig作为landing应用的注册项,示例配置:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 新增landing应用注册
    'landing',
]
  1. 核对项目目录结构,确保和以下结构一致(manage.py所在目录为项目根目录):
<项目根目录>
├── <项目核心配置文件夹>
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── asgi.py/wsgi.py
├── landing
│   ├── __init__.py
│   ├── apps.py
│   ├── views.py
│   └── urls.py(你贴出的这份urls.py如果是应用内路由,必须放在该路径下)
└── manage.py
  1. 确认landing/views.py中正确定义了Index类视图,示例:
from django.views import View
from django.http import HttpResponse

class Index(View):
    def get(self, request):
        return HttpResponse("测试首页")
  1. 删除所有你手动添加的sys.path相关代码,恢复PYTHONPATH环境变量的默认配置,避免多余配置干扰模块导入。
  2. 如果你采用了拆分views的结构(即landing下是views文件夹而非单个views.py文件),需要在landing/views/__init__.py中添加导出逻辑:
# 假设Index类定义在landing/views/index.py中
from .index import Index

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:57:03