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

Django4.1搭配DRF3.14.0出现SkipError导入错误求解决

问题:DRF模板库加载失败——无法导入SkipError

遇到如下错误:

raise InvalidTemplateLibrary(
django.template.library.InvalidTemplateLibrary: Invalid template
library specified. ImportError raised when trying to load
'rest_framework.templatetags.rest_framework': cannot import name
'SkipError' from 'rest_framework.exceptions'
(C:\Users\C.M.virtualenvs\src-Hn7NFGL7\lib\site-packages\rest_framework\exceptions.py)

项目配置:
settings.py中的INSTALLED_APPS:

INSTALLED_APPS = [
    # apps 
    'accounts',
    'home',
    'job',
    'contact',
    
    # django modules
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    
    # third-party
    'bootstrap4', 
    'cities_light',
    'django_filters',
    'rest_framework',
]

urls.py配置:

from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('accounts/', include('django.contrib.auth.urls')),
    path('accounts/', include('accounts.urls', namespace='accounts')),
    path("admin/", admin.site.urls),
    path('api-auth/', include('rest_framework.urls')),
    path('jobs/', include('job.urls', namespace='jobs')),
    path('contact/', include('contact.urls', namespace='contact'))
] 

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

使用环境:Django 4.1 + DRF 3.14.0


解决方法

1. 重新安装DRF修复损坏的安装包

这个错误大概率是DRF安装过程中文件损坏或不完整导致的,先卸载并重新安装对应版本:

pip uninstall -y djangorestframework
pip install djangorestframework==3.14.0

2. 升级DRF到兼容Django 4.1的更高版本

如果重新安装后问题依旧,尝试升级DRF到最新的兼容版本(DRF 3.15+完全支持Django 4.1):

pip install djangorestframework --upgrade

3. 检查并升级第三方依赖库

项目中使用的cities_light等第三方库可能依赖旧版DRF,导致冲突,升级这些库到最新兼容版本:

pip install cities-light django-filters bootstrap4 --upgrade

4. 排查自定义模板或扩展的引用

如果以上步骤都无效,检查项目中是否有自定义模板或扩展代码直接引用了SkipError(这个异常类在DRF 3.13+版本已被移除),若有则替换为DRF当前版本的替代方案(比如使用APIException自定义异常)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 13:35:03