Python Flask WTFoms字段中的自定义参数

Python Flask WTFoms字段中的自定义参数,python,flask,jinja2,flask-wtforms,Python,Flask,Jinja2,Flask Wtforms,forms.py my_form.html my_form.html 您需要使用额外的colspan属性创建一个 首先定义自定义字段子分类TextField: class MyCustomTextField(TextField): def __init__(self, colspan=4, *args, **kwargs): super(MyCustomTextField, self).__init__(*args, **kwargs) self.col

forms.py

my_form.html

my_form.html


您需要使用额外的
colspan
属性创建一个

首先定义自定义字段子分类
TextField

class MyCustomTextField(TextField):
    def __init__(self, colspan=4, *args, **kwargs):
        super(MyCustomTextField, self).__init__(*args, **kwargs)
        self.colspan = colspan
现在在表单中使用自定义字段:

class MyForm(Form):
    my_field = MyCustomTextField(4, u"Enter a number", validators=[Required('This Field is Required')])
查看
MyCustomTextField
的第一个参数(本例中为
4
)?这就是你的colspan属性

最后,访问模板中的属性,如下所示:

<td colspan="{{form.my_field.colspan}}">


这个自定义类是个好主意,我总是忘记。但在本例中,我需要为所有字段创建一个公共自定义类。不仅仅是
TextField
,我有20多个表单字段,几乎所有类型的输入字段都可用。有可能创造出这样的东西吗?这很难。我已经胡闹了一段时间,试图将父
字段
类划分为子类,然后尝试更改其他字段的父类,从另一个答案中获取一些想法:但我没有成功,而且有人提到这不是一个好主意。最简单的方法(虽然我理解有点笨拙)是定义自己的字段集,对每个需要的字段进行分类。我知道这是一个相当多的代码编写,但应该是一个一次性的工作,相当直接。是的。这将是一个一次性作业,并可以在未来使用它也。谢谢
<td colspan={{form.my_field.colspan}}>
class MyCustomTextField(TextField):
    def __init__(self, colspan=4, *args, **kwargs):
        super(MyCustomTextField, self).__init__(*args, **kwargs)
        self.colspan = colspan
class MyForm(Form):
    my_field = MyCustomTextField(4, u"Enter a number", validators=[Required('This Field is Required')])
<td colspan="{{form.my_field.colspan}}">