zmb*_*mbq 5 forms media django
我有几个Django模板,一些有不同的形式.一些表单使用需要自己的JS和CSS资源的自定义小部件.每个都正确指定了这些资源form.media
我发现放置所有媒体引用的正确位置在我的<head>标记中,就在我自己的css文件上方.如果我愿意,这将允许我覆盖自定义小部件的外观.所以在我的模板中我有类似的东西:
{% block form_media %}
{{ form1.media }}
{{ form2.media }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
(某些模板有多个表单)
现在,如果两个表单都使用相同的窗口小部件,则相同的JS和CSS文件将被引用两次.这不可能是好事.是否有合理的方法来统一所有媒体参考?
这只是引出了一个自定义的{% context_form_media %}标签,这将使得在要求的范围内的所有形式的媒体.
Árn*_*son -1
您可以通过块和继承来做到这一点。
基本.html:
<head>
{% block form_css %}
{# base css #}
{% endblock form_css %}
{# rest of head #}
</head>
{# rest of html #}
Run Code Online (Sandbox Code Playgroud)
任何形式.html:
{% extends "base.html" %}
{% block form_css %}
{# your form css #}
{% endblock form_css %}
{# your form #}
Run Code Online (Sandbox Code Playgroud)
这样你就可以只注入适用于该页面的 css/js。如果您还想包含该块上游的所有内容,您可以使用 {{ block.super }} 启动它。
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |