执行python manage.py test时触发Django报错求助
解决
python manage.py test运行报错的问题 嘿,我来帮你排查这个测试命令的问题!项目能正常运行但测试跑不起来,哪怕是空的tests.py也报错,结合你给出的配置文件,我发现几个关键问题:
1. INSTALLED_APPS里不该加项目根目录
你的INSTALLED_APPS列表里包含了'djangorest'——这是你用django-admin startproject创建的项目根目录,Django项目的根目录不需要也不应该被添加到INSTALLED_APPS里,这个列表是用来注册你自己写的应用(比如api、cg)或者第三方应用的,把项目根目录加进去会让Django误以为它是一个可加载的应用,从而触发错误。
赶紧把这一项从INSTALLED_APPS里删掉,修改后的配置应该是这样:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', #'django.contrib.auth.forms', 'rest_framework', 'api', 'cg', 'multiselectfield', ]
2. 清理重复的MEDIA_ROOT配置
你的settings.py里重复定义了两次MEDIA_ROOT:
MEDIA_ROOT = ( os.path.join(BASE_DIR, 'media') ) MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'djangorest/media')
这虽然不一定是测试报错的直接原因,但会导致配置混乱,建议保留一个正确的路径,比如统一改成:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/'
3. 验证修改后的操作
改完上面的配置后,先跑一下python manage.py check检查项目配置是否合法,如果没有报错,再重新执行python manage.py test,应该就能正常运行测试了。
从你描述的报错情况来看,移除INSTALLED_APPS里的项目根目录大概率能解决问题,这是这类测试报错的常见诱因~
内容的提问来源于stack exchange,提问作者ConC
相关产品推荐
相关产品推荐

