4

所以这里有一个片段

我打算重用它,但是当我在forms.py中声明它时,我渲染了html ..

submit_button = SubmitButtonField()

value不提供(它被转义为 string None),而name默认为submit_button,可能是因为forms.Widget构造函数。

如何提供名称和值?我试图为小部件编写一个 init 方法......

def __init__(self, name, value, label, attrs):        
    print '%s, %s, %s, %s' %(name, value, label, attrs)
    self.name, self.value,self.label = name, value, label
    self.attrs = attrs

但是,如果该字段始终(假定)默认使用小部件,这并不完全有意义SubmitButtonWidget......相反,我应该在字段 init 方法中提供这些值。但它不允许我这样做。

我应该如何重写此代码段以便它可以接受我提供的值?

4

1 回答 1

3

正如代码段顶部的评论中所写,用法是

submit_button = SubmitButtonField(label="", initial=u"Your submit button text")

您的缺失值来自initial关键字参数。名称是表单域的名称。

于 2012-06-03T21:43:25.190 回答