【问题标题】:Python/Flask. How can include multiple forms on a single view.py file蟒蛇/烧瓶。如何在单个 view.py 文件中包含多个表单
【发布时间】:2017-05-22 01:14:26
【问题描述】:

我正在使用 Flask 框架开发一个 Python Web 应用程序。该应用程序有几种形式,即:登录表、注册表单、检查余额表、提取现金表和转账表。我有一个 view.py 文件,我打算用它来呈现所有这些表单,如下所示:

###login form
    @app.route('/login', methods = ['POST'])
    def login():
        form = LoginForm()
        if request.method == 'POST':
          if form.validate() == False:
             flash('pin is required.')
          else:
             return render_template('index.html')
        elif request.method == 'GET':
             return render_template('login.html', form = form)

    ##withdraw cash
    @app.route('/withdrawCash', methods=['GET', 'POST'])
    def withdrawCash():
        form = withdrawCashForm()
          if request.method == 'POST':...

    ##transfer cash
    @app.route('/transferCash', methods=['GET', 'POST'])
    def transferCash():
        form = transferCashForm()
          if request.method == 'POST':......etc

这是否可以让一个视图文件呈现所有这些表单,或者我应该为每个表单提供视图文件?

【问题讨论】:

  • 你在form.amount之后写了一个)
  • 感谢您在从withdrawcash.html 中删除“)”后指出@stamaimer,我现在收到一个新错误,说UndefinedError: 'form' is undefined。关于我的方法有什么问题的任何提示?
  • 模板文件withdrawCash.html需要一个表格。但是您没有在视图函数withdrawCash 中将表单传递给它。
  • 当我在 views.py 中包含 form = withdrawCash() 时,我收到错误 RuntimeError: maximum recursion depth exceeded...非常令人沮丧,我必须承认
  • 我认为表单类的名称必须是WithdrawCash 而不是withdrawCash withdrawCash 是视图函数的名称。

标签: python html flask flask-wtforms


【解决方案1】:

上面的问题已经过编辑。我最初以为我已经解决了这个问题,但在审查了这个问题之后,很明显我提供的任何答案都是错误的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2015-01-14
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2014-04-17
    相关资源
    最近更新 更多