关于Django中表单格式的简单问题

时间:2011-09-04 15:12:20

标签: django forms format customization

我想制作一个表格,让用户输入杂货商品清单。每个项目由名称,数量和类别定义。我目前正在使用formsets这样做。这是我在views.py文件中创建formset实例的代码:

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文件中执行某些操作?

1 个答案:

答案 0 :(得分:0)

您有两种选择:

(1)迭代模板中的formset,并使用模板来布局表单;或

(2)覆盖Form中的布局方法以改变生成的html布局。

我更喜欢(2),但很多人更喜欢(1)。 (2)的优点是,如果将其分解为mixin,则可以重用该布局代码。 (我实际上已经通过猴子修补实现了这一点,但这是不必要的)。