使用django-embed-video嵌入视频时遇TemplateDoesNotExist错误求助
解决Django中TemplateDoesNotExist找不到video.html的问题
这个错误的核心是Django无法定位到你的video.html模板文件,和django-embed-video库本身关联不大,按以下步骤排查:
检查模板存放路径与配置
Django默认的模板查找规则:- 如果你的视图属于某个app(比如
video_app),模板可以放在app名/templates/app名/video.html(比如video_app/templates/video_app/video.html),同时确保该app已添加到settings.py的INSTALLED_APPS中; - 也可以在项目根目录创建
templates文件夹,把video.html直接放在这里,但必须在settings.py的TEMPLATES配置中指定该目录:TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR / 'templates'], # 确保此行存在 'APP_DIRS': True, # 其他配置... }, ]
- 如果你的视图属于某个app(比如
核对文件名与视图中的路径拼写
- 检查大小写:Linux/macOS系统区分文件名大小写,确保是
video.html而非Video.html或拼写错误; - 视图中指定的模板路径要和实际存放路径匹配:如果模板在
app/templates/video.html,视图写'video.html'即可;如果是在app/templates/app/video.html,视图要写'app/video.html'。
- 检查大小写:Linux/macOS系统区分文件名大小写,确保是
验证django-embed-video的模板标签(模板加载后)
等模板能正常加载后,确保video.html顶部已引入库的标签:{% load embed_video_tags %}渲染视频的代码也要符合规范,比如:
{% video obj.video 'large' %}这里假设你的
obj模型包含video字段(类型为EmbedVideoField)。清理缓存并重启服务
运行以下命令清理Django缓存,再重启开发服务器:python manage.py clearcache python manage.py runserver
内容的提问来源于stack exchange,提问作者GodsEgg
相关产品推荐
相关产品推荐

