2011-09-04 82 views
1

我想製作一個表單讓用戶輸入食品雜貨清單。每個項目由名稱,金額和類別定義。我目前正在使用formset來做這件事。下面是從我在views.py文件創建一個表單集實例代碼:關於Django中表單格式化的簡單問題

class InputForm(forms.Form): 
    item = forms.CharField() 
    amount = forms.CharField() 
    category = forms.CharField() 

但是,這產生一個輸出看起來像這樣:

Item: 
Amount: 
Category: 
Item: 
Amount: 
Category: 

我如何可以格式化輸出,使「項目,數量,類別」序列變成水平?

Item: [room for user input] Amount: [user input] Category: [user selection] 
Item: [room for user input] Amount: [user input] Category: [user selection] 

我必須在模板中工作嗎,還是可以在我的forms.py文件中執行某些操作?

回答

0

你有兩個選擇:

(1)遍歷在您的模板表單集,並使用模板來佈局形式;或者

(2)重寫Form中的佈局方法來改變生成的html佈局。

我更喜歡(2),但很多人喜歡(1)。 (2)的優點是,如果將其分解爲混合,則可以重用該佈局代碼。 (我已經用猴子補丁實現了這一點,但這是不必要的)。

+0

太好了,非常感謝! – jyli7