我正在尝试使用 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
安德鲁
最佳答案
form
可能是一个字符串而不是 Form 对象,并且迭代字符串会产生它的各个字符。
关于python - 如何使用 Django include 标签作为单独的 HTML 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2052114/