【问题标题】:python-flask how to generate a boolean list in a formpython-flask如何在表单中生成布尔列表
【发布时间】:2015-02-13 23:28:57
【问题描述】:

好的,我了解了用于生成表单的表单、视图、HTML 模板的基础知识:

class General_Form(Form):
    yes_no = BooleanField('well?', default = False)
    def __init__(self, *args, **kwargs):
        Form.__init__(self, *args, **kwargs)

    def validate(self):
        if not Form.validate(self):
            return False
    return True

如果我将 General_Form 作为表单对象传递给我的视图,我将可以在 html 中访问它:{{form.yes_no}} 我的复选标记。

我现在要做的是将一个字符串列表传递给 init,并使用该列表生成一个布尔值列表,其标签是我传递的列表中字符串的值。然后将该表单对象传递给我的视图和 html,因此当我查看页面时,我会看到一个带有标签和复选框的布尔对象列表,基本上是一个检查列表。我知道如何在纯 html 中执行此操作,但我在使用 python 中的这个 Form 类解密它时遇到了一些问题。谢谢。

【问题讨论】:

    标签: python html forms flask


    【解决方案1】:

    好吧,我把这些拼凑起来了,我从 form.py 中的一个非常基本的表单开始:

    class General_Form(Form):
        def validate(self):
            if not Form.validate(self):
                return False
            return True
    

    我的 view.py 路由方法带来了那个表单,并且有

    if request.method == "POST":
        if request.form['submit'] == "Find":
            if form.validate_on_submit():
                ----->> do stuff
    

    在 my 中有一个元素:

    <input type="submit" name="submit" value="Find"/>
    

    显然,仅当您要使用它执行许多复杂的事情(例如检查恶意内容的字符串)时,才需要尝试使用 Form 类下的类对象构造函数,如果您只是构建一个带有提交输入,那么所有其他构造函数不仅没有必要,而且似乎没有一种连贯的方式来构建它们。

    【讨论】:

      猜你喜欢
      • 2019-02-21
      • 2019-02-11
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      相关资源
      最近更新 更多