2024-04-25 11:55:58 发布
网友
在新建.html在
{{ form.particular(name='particular[]') }}
我尝试使用上面的代码在我的输入字段中分配一个名称,但是我得到了以下错误。但是如果我添加一个类或id来替换名称 (例如:{特殊形式(id='details')}})它对name有效,但对name无效,只输出以下错误:
在内置类型错误 TypeError:html_params()为关键字参数“name”获取了多个值
任何解决方案。提前感谢:)
定义窗体时:
class WebForm(FlaskForm): particular = StringField('some_description')
然后您有一个字段,其name=particular,这是wtforms的底层函数。因此,当您尝试执行form.particular(name='particular[]')操作时,会出现多值错误,因为您无法在jinja2模板中重新定义名称。在
name=particular
form.particular(name='particular[]')
您可以使用以下两种方法之一覆盖名称(注意,在jinja2渲染发生之前,这两种方法都是服务器端):
1)静态:即定义一个新名称:
2)动态:即wrap函数创建一个修正的静态形式:
def WebForm(new_name): class TempForm(FlaskForm): pass setattr(TempForm, new_name, StringField('some_description')) return TempForm() # will create a WebForm with attribute name of 'new_name' as StringField
如果它是通过render template发送表单数据,那么只需将变量名放在模板中{{var_name}}之间,并在代码中使用return render template函数中的这个var_名称。在
定义窗体时:
然后您有一个字段,其
name=particular
,这是wtforms的底层函数。因此,当您尝试执行form.particular(name='particular[]')
操作时,会出现多值错误,因为您无法在jinja2模板中重新定义名称。在您可以使用以下两种方法之一覆盖名称(注意,在jinja2渲染发生之前,这两种方法都是服务器端):
1)静态:即定义一个新名称:
^{pr2}$2)动态:即wrap函数创建一个修正的静态形式:
如果它是通过render template发送表单数据,那么只需将变量名放在模板中{{var_name}}之间,并在代码中使用return render template函数中的这个var_名称。在
相关问题 更多 >
编程相关推荐