Django报错ModuleNotFoundError:找不到'myapp'模块求助
Django模块找不到问题解决
问题重现
直接执行urls.py文件时出现报错:
PS C:\Users\taipe\firstproject> & C:/Users/taipe/AppData/Local/Programs/Python/Python312/python.exe c:/Users/taipe/firstproject/firstproject/urls.py Traceback (most recent call last): File "c:\Users\taipe\firstproject\firstproject\urls.py", line 19, in <module> from myapp.views import sayhello,sayhello2,hello3 ModuleNotFoundError: No module named 'myapp'
实际firstproject目录下存在myapp文件夹。
解决步骤
不要直接运行单个urls.py文件:Django项目必须通过
manage.py启动,正确启动命令是在项目根目录(包含manage.py的那个目录)执行:python manage.py runserver直接运行单个文件会导致Python无法识别项目的模块结构,找不到
myapp。确认myapp已注册到项目:打开
firstproject/firstproject/settings.py,找到INSTALLED_APPS列表,确保添加了'myapp':INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # 确保这一行存在 ]检查myapp的目录结构:确保
myapp是标准的Django应用结构,至少包含__init__.py(Python3.3+虽自动识别模块,但建议保留)和views.py:firstproject/ ├── firstproject/ │ ├── settings.py │ ├── urls.py │ └── ... ├── myapp/ │ ├── __init__.py │ ├── views.py │ └── ... └── manage.py特殊场景:必须单独运行文件时(不推荐),可以在
urls.py开头添加代码,把项目根目录加入Python路径:import sys import os # 添加项目根目录到sys.path sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
内容的提问来源于stack exchange,提问作者冠年紀
相关产品推荐
相关产品推荐

