Django报错ModuleNotFoundError: No module named 'apps',如何找到我的应用?
解决Django无法找到apps目录下应用的问题
你的问题出在Django找不到apps模块,核心原因是project目录没被加入Python的模块搜索路径,且apps目录缺少标识模块的必要文件。按以下步骤操作即可解决:
步骤1:给apps目录添加__init__.py文件
找到project/apps目录,新建一个空的__init__.py文件(文件名前后都是双下划线)。这个文件的作用是告诉Python:这个目录是一个可以被导入的模块。
步骤2:修改settings.py,将project目录加入Python搜索路径
打开project/settings.py,在文件最顶部添加以下代码:
import os import sys # 获取settings.py所在的project目录绝对路径 PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) # 将project目录添加到Python模块搜索路径 sys.path.append(PROJECT_DIR)
步骤3:确认应用配置正确性
- 确保
settings.py中的INSTALLED_APPS配置正确:
INSTALLED_APPS = [ # 保留Django默认的应用(比如'django.contrib.admin'、'django.contrib.auth'等) 'apps.portal', # 其他你需要注册的应用 ]
- 确认
portal/apps.py的配置和你现在的代码一致即可:
from django.apps import AppConfig class PortalConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'apps.portal'
步骤4:验证配置
打开命令行,进入项目根目录(即包含media、static、project的那个目录),运行以下命令:
python manage.py check
如果没有报错,说明配置成功。也可以运行python manage.py runserver,若服务器正常启动,就代表应用已经被正确识别了。
内容的提问来源于stack exchange,提问作者Hoàng Minh Vũ
相关产品推荐
相关产品推荐

