我想在Django中使用常见布局使用django-crispy构建多个表单。我阅读了关于编写布局的清晰文档,但我不能自己完成,因为我收到了错误消息:
append()只需要一个参数(给定2个)。
请参阅下面的代码:
import pandas as pd
df = pd.DataFrame([1, 2, 3], columns = ['c'], index = ['A','B','C'])
所以,我需要帮助才能做到这一点并转到另一种形式。
答案 0 :(得分:1)
您正在创建一个CommonLayout
表单类,并且您尝试让其他表单继承该表单的布局。
实现此目的的一种方法是使CollectionForms
继承自CommonLayout
,如下所示:
#the class with the form
class CollectionForms(CommonLayout):
def __init__(self, *args, **kwargs):
super(CollectionForms, self).__init__(*args, **kwargs)
self.helper.form_action = 'collection'
self.helper.layout.append(
FormActions(
StrictButton('Pass', type="submit", name="result", value="True", css_class="btn btn-success"),
)
)
请注意,这会从Layout()
表单继承CommonLayout
对象,并对其进行扩展。您没有重新初始化FormHelper
类中的CollectionForms
对象,而是修改了从FormHelper
表单类创建的CommonLayout
对象。您之前的示例未从FormHelper
继承CommonLayout
,它创建了一个新的Layout()
对象,这是您问题的根源。