2011-02-28 77 views
0

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

回答

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 %} 
+0

no。它不适用于我:( – alexarsh 2011-02-28 15:16:25

+0

然后你可以发布你的表单代码和模板吗?对于一个构造form(request.POST)的表单,绑定数据将在当前版本的form.field.data中可用。 – 2011-02-28 15:20:03

+0

我试图在change_form.html中获取我的对象的名称,代码如下:代码为: – alexarsh 2011-02-28 15:47:52