我正在使用一个formset在一个页面上收集多个表单的数据,但我意识到,formset的.as_table显示对于我正在尝试做的事情略微不理想,而不是打印每个表单元素作为一个新的表行,我正在考虑将每个表单本身打印为一个单独的行,并且有一个带有字段名称的表头,因为我知道我的formset对于每个表单实例都有相同的字段。通过这种方式,您可以获得一个用户可以填写的数据网格。我已经通过打印表单的模板手动完成了但是我想知道是否有任何方法可以覆盖formset.as_table来打印它形式而不是目前的方式。这有可能吗,它已经在某个地方完成了,或者如果没有,你会怎么建议我去做?
答案 0 :(得分:1)
您始终可以创建自己的Formset(可能还有Form)子类来覆盖as_table
方法,以便以您想要的任何方式输出表单。
我的建议是考虑使用django-crispy-forms和良好的CSS定义。
答案 1 :(得分:0)
在用于表单集的类(而不是使用表单集的类)中覆盖as_table。 Super()将as_table转换为变量。将其转换为字符串,然后重复。用空字符串替换“ \ n”。删除开头和结尾处的引号。将其转换为字符串。将django框架的mark_safe方法调用为结果字符串,然后将其返回。