2011-09-04 87 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