运行python manage.py runserver时出现KeyError: 'django'错误求助
Django启动服务器报错:KeyError: 'django'
问题场景
在虚拟环境中运行Django服务器时触发以下错误,已排查数小时未解决。
报错信息
Traceback (most recent call last): File "C:\Users\jaiso\.virtualenvs\storefront2-4TwSyq5h\lib\site-packages\django\template\utils.py", line 69, in __getitem__ return self._engines[alias] KeyError: 'django'
已安装包版本
| 包名 | 版本 |
|---|---|
| asgiref | 3.5.2 |
| Django | 4.1.2 |
| django-debug-toolbar | 3.7.0 |
| django-rest-framework | 0.1.0 |
| djangorestframework | 3.14.0 |
| drf-nested-routers | 0.93.4 |
| mysqlclient | 2.1.1 |
| pip | 22.2.2 |
| Python-Rest-Framework | 0.3.14 |
| pytz | 2022.4 |
| setuptools | 65.3.0 |
| six | 1.16.0 |
| sqlparse | 0.4.3 |
| tzdata | 2022.4 |
| wheel | 0.37.1 |
排查与解决步骤
检查模板引擎配置
打开项目的settings.py,确认TEMPLATES配置块中包含Django官方模板引擎,正确配置示例:TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]若配置中误删了该引擎,或指定了不存在的引擎别名,会触发此KeyError。
清理缓存文件
执行命令清理Django缓存:python manage.py clearcache同时手动删除项目根目录及各app下的
__pycache__文件夹,避免旧缓存引发异常。移除冲突包
注意到你安装了两个非官方REST框架包:django-rest-framework和Python-Rest-Framework,这两个包与官方djangorestframework存在冲突,可能干扰Django核心组件运行。执行命令卸载:pip uninstall django-rest-framework Python-Rest-Framework -y重新安装Django
若上述步骤无效,尝试重新安装指定版本的Django:pip uninstall Django -y pip install Django==4.1.2
内容的提问来源于stack exchange,提问作者jwill
相关产品推荐
相关产品推荐

