2011-11-09 45 views
0

好的。不過,我已經完全改變了這個問題,謝謝你的答覆,如何創建一個Django的形式的文本區域。如何以特定的django形式做到這一點?

我的問題定義是這樣的:我需要顯示一個從模型中隨機選擇5個問題的頁面。在每個模型之間插入一個文本區域,供人員撰寫答案並提交。所有的答案將以一種可以在將來根據問題提及的方式進行存儲。

我可以創建一個文本框的表單集,但是如何顯示這些問題? Modelforms?

+0

既然你已經使用過'Textarea'(否定了我的答案),我想你必須向我們展示你想要實現的一個例子。 – birryree

+0

我可以使用formset。但是,當我遍歷formset時,如何推入特定模型的價值? – Hick

+0

我不明白你在問什麼 – juliomalegria

回答

0
  1. 你經常需要重新啓動您的Django應用程序代碼更改生效

  2. 有幾種方法可以顯示多行文本控件的CharField,沒有它聽起來像你想要什麼。

從Django文檔:

# override individual field 
class AuthorForm(ModelForm): 
    class Meta: 
     model = Author 
     fields = ('name', 'title', 'birth_date') 
     widgets = { 
      'name': Textarea(attrs={'cols': 80, 'rows': 20}), 
     } 

# in admin site, override all fields of a certain type 
class MyModelAdmin(admin.ModelAdmin): 
    formfield_overrides = { 
     models.CharField: {'widget': forms.Textarea}, 
    } 

你也可以做一個自定義字段,子類CharField,並指定文本區作爲默認的窗口小部件,然後使用在你的模型。

雖然也許最好的方式(對於只的ModelForm)是一個在這個答案:
How do you change the default widget for all Django date fields in a ModelForm?

寫formfield_callback功能,並將其連接到您的ModelForm類。

+0

我編輯了這個問題。 – Hick