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

Django执行makemigrations报错:No module named 'musicapp'

解决Django执行makemigrations时的ModuleNotFoundError: No module named 'musicapp'问题

以下是针对性的排查和修复步骤:

  • 检查应用目录结构
    确保musicapp是标准的Django应用目录,必须包含空的__init__.py文件(没有就新建一个),目录结构要和项目根目录、manage.py的位置对应:

    项目根目录/
      manage.py
      musicapp/
        __init__.py
        apps.py
        models.py
        admin.py
        ...
      项目配置文件夹/
        settings.py
        urls.py
        ...
    
  • 修正apps.py配置
    打开musicapp/apps.py,确保AppConfig子类的name属性值为小写的musicapp,这是Django识别应用的核心标识,示例代码:

    from django.apps import AppConfig
    
    class MusicappConfig(AppConfig):
        default_auto_field = 'django.db.models.BigAutoField'
        name = 'musicapp'  # 必须和应用目录名完全一致
    
  • 修正settings.py的INSTALLED_APPS
    在项目配置的settings.py中,将应用添加到INSTALLED_APPS列表时,使用以下两种正确写法之一:

    INSTALLED_APPS = [
        # 其他应用...
        'musicapp',  # 直接写应用目录名
        # 或者用完整的Config类路径
        # 'musicapp.apps.MusicappConfig',
    ]
    

    注意不要写成'Musicapp'(首字母大写),必须和apps.py里的name值一致。

  • 确保在正确路径下执行命令
    打开终端,切换到**manage.py所在的项目根目录**,再执行:

    python manage.py makemigrations
    

    不要在子目录(比如musicapp文件夹内)执行该命令。

  • 彻底清理缓存
    除了删除__pycache__文件夹,还要:

    • 删除项目根目录下的migrations文件夹(如果里面的迁移文件已失效)
    • 执行python manage.py clearcache(Django 4.2及以上版本支持)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:20:34