django sekizai {%addtoblock%}标签无法正常工作 [英] django sekizai {% addtoblock %} tag is not working properly
问题描述
我正在尝试实施django sekizai应用程序.它正在复制我要添加的js文件.
I'm trying to implement django sekizai app. It is duplicating the js files that i'm adding.
基本模板:
{% load sekizai_tags %}
...
{% render_block "my_js" %}
使用此基础的模板:
{% load sekizai_tags %}
<div id="a1" >
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
</div>
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
现在这里渲染的模板已经渲染了两次,但是当我尝试在div中添加相同的脚本时,它没有被复制.如果有人可以对此有所启发,将不胜感激!
Now here the rendered template has rendered twice.But when I tried adding the same script within the div it wasn't duplicated. Would appreciate if someone can shed some light on this!
此外,当我尝试在由模板标签呈现的模板中使用{%addtoblock%}时,脚本会丢失(既不包含脚本也不保留在该模板中).
Also when i try to use {% addtoblock %} in a template rendered by a template tag the script goes missing (It is neither included nor it stays in that template).
注意:模板标签 render_block
和 addtoblock
来自
Note: The template tags, render_block
and addtoblock
, are from the django-sekizai package.
推荐答案
{%addtoblock%}
和 {%endaddtoblock%}
必须位于继承另一个模板的模板.
{% addtoblock %}
and {% endaddtoblock %}
have to be inside of a block in templates that inherit another template.
# base.html
<html>
...
{% render_block 'js' %}
{% block js %}{% endblock %}
</html>
# some-page.html
{% inherits 'base.html' %}
{% block js %}
{% addtoblock 'js' %}
<script type="text/javascript" ... />
{% endaddtoblock %}
{% endblock %}
希望对您有帮助.
这篇关于django sekizai {%addtoblock%}标签无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!