2011-12-13 99 views

回答

2

您可以繼承您的表單並設置屬性爲disabled的所有表單小部件。或者將所有字段設置爲只顯示文本和沒有輸入框的小部件(如django admin只讀小部件)。

class ReadOnlyForm(MyForm): 
    def __init__(self, *args, **kwargs): 
     super(ReadOnlyForm, self).__init__(*args, **kwargs) 
     for field in self.fields.values(): 
      field.widget.attrs['disabled'] = 'true' # or replace the widget 
      # with one that just returns the value in plain html 

readonly_form = ReadOnlyForm(the_data) 
+0

這工作完全!謝謝! – Westerley

0

另一種方式是控制你的形式呈現方式:

{% for field in form %} 
     {{ field.label }}: {{ field.value }} 
{% endfor %} 
+0

謝謝 - 我看到這可能會如何工作,但我更喜歡Yuji Tomita的答案,因爲它允許我重複使用我的模板。 – Westerley