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

Django报错ModuleNotFoundError: No module named 'view'求助解决

解决Django urls.py导入views模块的错误

问题场景

playground应用目录结构如下:

playground/
├── urls.py
├── view/
│   ├── __init__.py
│   └── views.py

urls.py原代码:

from django.urls import path
from view import views

urlpatterns = [
    path('hello/', views.say_hello)
]

执行python manage.py runserver时报错:

File "/Users/swathikumar/Desktop/storefront/playground/urls.py", line 3, in
from view import views
ModuleNotFoundError: No module named 'view'

views.py代码:

from django.shortcuts import render
from django.http import HttpResponse

def say_hello(request):
    return HttpResponse('Hello World.')

解决方案

方案1:使用相对导入

利用Python相对导入语法,在导入路径前加.表示当前目录的子模块,修改urls.py如下:

from django.urls import path
from .view import views

urlpatterns = [
    path('hello/', views.say_hello)
]

方案2:使用绝对导入

以应用名playground作为前缀明确指定模块路径(需确保playground已添加到项目settings.py的INSTALLED_APPS列表中):

from django.urls import path
from playground.view import views

urlpatterns = [
    path('hello/', views.say_hello)
]

原因说明

直接写from view import views会让Python在全局模块搜索路径中查找view模块,但你的view文件夹是playground应用的子目录,不在全局搜索路径内。通过相对导入(指定当前目录)或绝对导入(带上应用名前缀),才能让Python定位到正确的模块位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 05:34:52