如何在模板中获取form.field的值。我的意思是不是字段的html输入元素,而是输入中的值?
答案 0 :(得分:2)
获取绑定数据(在1.2.3中)
{{ form.field.data }}
在开发版本中,{{ form.field.value }}
会自动提取初始数据或绑定数据,而在当前版本中则是显式调用:
form.field.field.initial
或form.field.data
更新:管理表单的工作方式不同。首先,您的评论中BoundField
为{{ adminfield.field }}
而不是{{ adminfield }}
,但我们遇到了更大的问题。
在更改表单上,表单是未绑定,因此只能从传递给表单构造函数的初始字典中提取数据。它无法通过django模板语法访问。
以下是BoundField
中的相关行:
if not self.form.is_bound:
data = self.form.initial.get(self.name, self.field.initial)
# you can't do this kind of lookup from the template.
从模板访问此类信息而不制作模板标记(您应该!)的唯一方法是遍历初始字典中的每个键/值并与当前字段名称进行比较。
{% for line in fieldset %}
{% for adminfield in line %}
{% for k, v in adminfield.field.form.initial.items %}
{% if k == adminfield.field.name %}
{{ k }}:{{ v }}
{% endif %}
{% endfor %}
{% endfor %}
{% endfor %}