2011-02-28 162 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