【问题标题】:web2py: multiple forms in a viewweb2py:一个视图中的多个表单
【发布时间】:2013-05-27 05:43:32
【问题描述】:
def test():

    form = SQLFORM.factory(Field('cards', requires=IS_IN_DB(db, 'tbl_card.id', '%(name)s')))
    form = SQLFORM.factory(Field('evo', requires=IS_IN_DB(db, 'tbl_evo.id', '%(evo_type)s', orderby=db.tbl_evo.id)))

return dict(form=form)

我希望能够在一个视图中拥有多个 SQLFORMS。我将如何从一个控制器功能中做到这一点?

为了我的利益,我将如何调用不同的函数(未命名为 test())在同一个视图中生成表单?

【问题讨论】:

    标签: python web2py


    【解决方案1】:

    你有没有看过手册,具体来说:

    Forms & Validators: Multiple forms per page

    【讨论】:

      【解决方案2】:

      首先,您的代码不处理表单,因此您需要在每个表单上调用.process() 方法。当你这样做时,你可以为每个表单指定一个唯一的名称,这将使 web2py 在提交时能够区分它们:

      form1 = SQLFORM.factory(Field('cards',
          requires=IS_IN_DB(db, 'tbl_card.id', '%(name)s')))
      form1.process(formname='form1')
      

      如果您想调用单独的函数来生成和处理每个表单,您可以将这些函数放在模型文件或模块中,然后从 test.html 视图中调用它们。如果你想使用 AJAX,更好的选择是使用 LOAD() 将每个表单放在 component 中:

      {{=LOAD('default', 'myform1', ajax=True)}}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-24
        • 2016-02-19
        • 2016-03-22
        • 1970-01-01
        • 1970-01-01
        • 2017-02-26
        • 1970-01-01
        相关资源
        最近更新 更多