【问题标题】:Flask : how to pass variables between html pages app routeFlask:如何在html页面应用程序路由之间传递变量
【发布时间】:2016-09-14 14:54:07
【问题描述】:

我有一个 getvlanconfig.html 页面,其中包含一个收集 vlanid 和 vlannetwork 等信息的表单。我希望能够将该信息传递到提交表单时加载的页面 showvlanconfig.html。 我是 Flask 的新手,无论我能做什么查找,我都找不到最好的方法。我还查看了会话,我不确定这是否是我的选择。

    from flask import Flask, render_template, url_for, flash, request, redirect


    app = Flask(__name__)

    @app.route('/')
    def homepage():
      return render_template("index.html")

    @app.route('/getvlanconfig/', methods=["GET","POST"])
    def getvlan():

      try:

          if request.method == "POST":
             getvlanid = request.form['vlanid']
             getvlannetwork = request.form['vlannetwork']

             return redirect(url_for('showvlan'))
      except Exception as e:

             return render_template("vlanconfig.html")


 @app.route('/showvlanconfig', methods=["GET","POST"])
 def showvlan():
      try:          
         getvlanid = ???
         getvlannetwork = ?? 
         return render_template("index.html", vlanid = getvlanid, vlannetwork = getvlannetwork)
      except Exception as e:
         flash(e)


if __name__ == "__main__":
  app.run(debug = True)

【问题讨论】:

    标签: python html flask


    【解决方案1】:

    使用会话在来自同一客户端的请求之间存储数据。

    from flask import session
    
    def getvlan():
        session['vlanid'] = request.form['vlanid']
        return redirect(url_for('showvlan'))
    
    def showvlan():
        vlanid = session['vlanid']
        ...
    

    使用数据库(或其他外部持久存储)以更普遍的可访问性存储数据。

    【讨论】:

      猜你喜欢
      • 2019-01-14
      • 2015-02-21
      相关资源
      最近更新 更多