在Django中使用include时出现ModuleNotFoundError:找不到'mimi'模块
Django include报错:ModuleNotFoundError: No module named 'mimi'
问题背景
配置URL路由时使用以下代码:
urlpatterns = [ path('members/', include('mimi.urls')), path('admin/', admin.site.urls), ]
执行启动命令:
py web_questions/manage.py runserver
触发错误:ModuleNotFoundError: No module named 'mimi'
从项目结构可知,mimi应用与Django项目目录web_questions处于同一层级,而启动命令是从根目录运行web_questions下的manage.py,导致Python无法识别外部的mimi模块。
解决办法
1. 调整应用目录(推荐)
将mimi文件夹移动到web_questions目录下,与manage.py同级。Django默认会扫描该目录下的应用模块,无需额外配置。
2. 临时添加Python路径(快速测试)
启动服务器时,将项目根目录临时加入Python路径:
- Windows系统:
set PYTHONPATH=%PYTHONPATH%;. && py web_questions/manage.py runserver
- Linux/macOS系统:
PYTHONPATH=".:$PYTHONPATH" python web_questions/manage.py runserver
3. 修改Django配置(永久生效)
在web_questions/settings.py中添加根目录到Python路径:
import sys import os # 获取项目根目录(web_questions的上级目录) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR)
同时确保mimi已加入INSTALLED_APPS:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 新增应用配置 'mimi', ]
内容的提问来源于stack exchange,提问作者KarinP
相关产品推荐
相关产品推荐

