我想制作一个表格,让用户输入杂货商品清单。每个项目由名称,数量和类别定义。我目前正在使用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文件中执行某些操作?
答案 0 :(得分:0)
您有两种选择:
(1)迭代模板中的formset,并使用模板来布局表单;或
(2)覆盖Form中的布局方法以改变生成的html布局。
我更喜欢(2),但很多人更喜欢(1)。 (2)的优点是,如果将其分解为mixin,则可以重用该布局代码。 (我实际上已经通过猴子修补实现了这一点,但这是不必要的)。