django模板问题
如何获取模板中form.field的值。我指的不是字段的html输入元素,而是输入中的值?以获取绑定数据(在1.2.3中) 在开发版本中,它是django模板问题,django,django-templates,Django,Django Templates,如何获取模板中form.field的值。我指的不是字段的html输入元素,而是输入中的值?以获取绑定数据(在1.2.3中) 在开发版本中,它是{{form.field.value}自动提取初始数据或绑定数据,而在当前版本中它是一个显式调用: form.field.field.initial或form.field.data 更新:管理表单的工作方式不同。首先,在你的评论中,BoundField是{{adminfield.field}}而不是{{adminfield},但是我们有更大的问题 在变更
{{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 %}
那你能发布你的表格代码和模板吗?对于构建的表单(request.POST),绑定的数据将在当前版本中的
form.field.data
中可用。我正在尝试在change\u form.html中获取对象的名称。代码是:{%forAdminForm%}{%forFieldSet%}{%forFieldSet%}{%forField%}{{field.data}}{%endfor%}{%endfor%}{%endfor%}{%endfor%}如果您试图修改管理表单,这会改变一切,因为它不是表单的标准用法。我会把挖遍后发现的东西贴出来。
{% 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 %}