我正在尝试使用 include Django模板标记,在其中我引用了一个处理表单格式的模板。当我在我的模板中引用它时,它输出每个动态部分,每个新行的每个字符,这真的很奇怪。例如,以下是输出的片段:
<form action="/admin/events/create_submit/" method="post">
<div class="fieldWrapper">
: <
</div>
<div class="fieldWrapper">
: l
</div>
<div class="fieldWrapper">
: i
</div>
<div class="fieldWrapper">
: >
</div>
...
预期输出
<form action="/admin/events/create_submit/" method="post">
<div class="fieldWrapper">
<li><label>field</label><input type="text" /></li>
</div>
...
我意识到div里面的li上的标记是不正确的但是我试图理解为什么html被编码并且每个字符在模板div中分成一个新行并且以冒号“:”为前缀
我想渲染的模板是:
<form action="{{action}}" method="post">
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}
<p><input type="submit" value="Submit" /></p>
</form>
我像这样引用包含模板:
{% include "forms/form_template.html" %}
有没有人知道或者可以帮助解释为什么这会导致每个动态作品在每一行上按字符输出?
TIA
安德鲁
答案 0 :(得分:1)
无空间标记
删除HTML标记之间的空格。这包括制表符和换行符。
答案 1 :(得分:1)
form
可能是一个字符串而不是Form对象,迭代字符串会产生其各自的字符。