django模板问题

时间:2011-02-28 15:10:50

标签: django django-templates

如何在模板中获取form.field的值。我的意思是不是字段的html输入元素,而是输入中的值?

1 个答案:

答案 0 :(得分:2)

获取绑定数据(在1.2.3中)

{{ form.field.data }}

在开发版本中,{{ form.field.value }}会自动提取初始数据或绑定数据,而在当前版本中则是显式调用:

form.field.field.initialform.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 %}