Django中urls.py导入pages应用失败问题求助
Django导入pages应用模块报错问题解决
项目目录结构
- Learning
- innit.py
- settings.py
- urls.py
- wsgi.py
- pages
- innit.py
- admin.py
- apps.py
- models.py
- tests.py
- views.py
views.py 代码
from django.shortcuts import render from django.http import HttpResponse def home_view(*args,**kwargs): return HttpResponse("<h1>Hello World, (again)!</h1>")
urls.py 代码
from django.contrib import admin from django.urls import path from pages.views import home_view urlpatterns = [ path("", home_view, name = "home"), path('admin/', admin.site.urls), ]
问题描述
from pages.views import home_view 中的pages.views下方出现黄/橙色波浪线,系统无法识别pages包/应用,尽管pages目录下有innit.py仍无法导入。尝试过相对导入from ..pages.views import home_view执行失败报错,修改项目根目录也导致views.py导入出现问题。
问题原因及解决方法
核心问题是初始化文件名拼写错误:Python要求包目录必须包含__init__.py(前后各两个下划线)才能被识别为可导入的包,你把所有目录下的初始化文件都写成了innit.py(少了开头的两个下划线),这直接导致Python无法识别这些目录为合法包。
修复步骤
- 将Learning目录下的
innit.py重命名为__init__.py - 将pages目录下的
innit.py重命名为__init__.py - 打开
Learning/settings.py,在INSTALLED_APPS列表中注册pages应用:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 新增以下一行 'pages', ]
- 重启IDE和Django开发服务器,导入错误提示即可消失。
内容的提问来源于stack exchange,提问作者Motierc
相关产品推荐
相关产品推荐

