2

我想寫呈現,我任何形式的外部創建一個單場簡單的觀點:Django的 - 場傳遞給模板

field = ModelChoiceField(queryset=MyModel.objects.all(),empty_label=None) 
template = Template("<div>here is my field: {{field}}</div>") 
context = Context({"field" : field}) 
return HttpResponse(template.render(context)); 

(這將形成一個jQuery對話框的內容;我訪問通過AJAX這一觀點),但不是渲染ModelChoiceField,它只是顯示下面這種文字:

這裏是我的領域< django.forms.models.ModelChoiceField對象在 0x96576cc >

我怎樣才能得到這個正常渲染?

回答

3

因爲該字段不會被呈現在表單之外。所以,使用表格,它很乾淨,容易理解,並且沒有任何開銷。

如果你想知道,爲什麼你的表單沒有呈現,你可以看看字段的來源。它沒有__unicode__方法。只有BoundFieldhas it。所以你需要使用表單來限制你的字段。

可能還有另一種方式,但使用窗體是最明智的前向和清潔。

+0

好的,我剛在我的視圖中創建了一個表單並將其傳遞給模板。奇蹟般有效。謝謝。 – trubliphone 2012-02-10 16:01:06

相關問題