Django< head>模板中的覆盖标签

vlf7wbxs  于 2023-02-17  发布在  Go
关注(0)|答案(2)|浏览(139)

我有一个Django应用程序,用户可以上传视频(通过html5 video标签播放),为了处理用户无法播放视频的边缘情况,我给予了他们下载视频的选项。
为此,我编写了一个JS,确保在src没有加载时出现“下载”按钮。http://plnkr.co/edit/o8YFZNaEhpJMg4YPhZCO?p=preview
问题是我的JS驻留在<head></head>中,它需要能够访问我将在页面上显示的所有视频。
通常,我将视频对象作为object_list传递,然后迭代(通过分页的ListView生成),但所有这些都发生在模板的body中。
如何在<head〉中访问context[object_list],以便我共享的JS片段可以使用这些源代码(我已经从base.html继承了<head>)?其次,如何确保我只将 * page* 中的视频源代码传递给我的JS片段?
有人能给予我一个说明性的例子,我可以通过它来解决这个问题?

z3yyvxxp

z3yyvxxp1#

base.html中定义一个block,您可以在对象列表模板中覆盖该block
请参见www.example.comhttps://docs.djangoproject.com/en/1.11/ref/templates/language/#template-inheritance

rryofs0p

rryofs0p2#

您可以通过添加

{% block video_head_tag %}  
{% endblock %}

在父模板"base.html"中的<head></head>标记内
在子模板上

{% extends "base.html" %}

{% block video_head_tag %}you_object_list{% endblock %}

参考www.example.comhttps://docs.djangoproject.com/en/4.1/ref/templates/language/#template-inheritance

相关问题