Django执行makemigrations报错:ModuleNotFoundError: No module named 'StudentApp'
Django执行makemigrations时提示找不到'StudentApp'模块的解决办法
作为Django/Python初学者,创建Students模型后执行python manage.py makemigrations StudentApp命令时,出现找不到'StudentApp'模块的错误。
我的models.py代码
from django.db import models # Create your models here. class Students(models.Model): StudentId = models.AutoField(primary_key=True) StudentName = models.CharField(max_length=500) Course = models.CharField(max_length=500) Fee = models.CharField(max_length=500)
完整报错信息
Traceback (most recent call last): File "E:\django\stud_crud\manage.py", line 22, in <module> main() File "E:\django\stud_crud\manage.py", line 18, in main execute_from_command_line(sys.argv) File "C:\Users\Hp\AppData\Local\Programs\Python\Python311\Lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line utility.execute() File "C:\Users\Hp\AppData\Local\Programs\Python\Python311\Lib\site-packages\django\core\management\__init__.py", line 416, in execute django.setup() File "C:\Users\Hp\AppData\Local\Programs\Python\Python311\Lib\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Users\Hp\AppData\Local\Programs\Python\Python311\Lib\site-packages\django\apps\registry.py", line 91, in populate app_config = AppConfig.create(entry) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Hp\AppData\Local\Programs\Python\Python311\Lib\site-packages\django\apps\config.py", line 178, in create mod = import_module(mod_path) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Hp\AppData\Local\Programs\Python\Python311\Lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1142, in _find_and_load_unlocked ModuleNotFoundError: No module named 'StudentApp'
解决步骤
检查应用名称大小写
命令里的StudentApp和实际项目中的应用文件夹名可能不一致(通常Django应用用小写命名),执行命令时要和文件夹名完全匹配,比如如果文件夹是studentapp,则执行:python manage.py makemigrations studentapp确认应用已添加到INSTALLED_APPS
打开项目根目录的settings.py,找到INSTALLED_APPS列表,添加你的应用(注意名称和文件夹一致):INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'studentapp', # 这里要和应用文件夹名一致 ]验证应用目录结构
确保studentapp文件夹下存在__init__.py(空文件即可)、models.py、apps.py,且apps.py中的配置正确:from django.apps import AppConfig class StudentappConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'studentapp' # 这里的name必须和应用文件夹名一致确认命令执行路径
必须在包含manage.py的项目根目录下执行命令,否则会导致Django找不到应用模块。
内容的提问来源于stack exchange,提问作者jana kobi
相关产品推荐
相关产品推荐

