使用 Flask 在另一个函数中使用函数中的变量

Seb*_*ina 3 python mysql variables global flask

我使用 Flask 制作网站。

\n\n
@app.route(\'/consulta\',methods=[\'POST\'])\ndef consulta():\n    if request.method==\'POST\': #Si se han enviado datos\n        dia = request.form[\'dia\'] #Obtenemos los datos del formulario\n        videobeam = request.form[\'videobeam\']\n        tablero = request.form[\'tablero\']\n        hora = request.form[\'hora\']\n        aa = darHora(hora)\n\n        a = aa[0] #<<<<<----- HERE IS PROBLEM\n        b = aa[1] #<<<<<<- HERE IS PROBLEM\n\n\n        cursor = db.connection.cursor()\n        cursor.execute("SELECT * FROM salones WHERE {0}=1 AND videobeam = \'{2}\' AND tablero = \'{1}\' AND `{3}` = 1 AND `{4}` = 1".format(dia,videobeam,tablero,a,b)) \n\n        #Buscamos que coincidan con la base de datos, se pregunta por el dia de disponibilidad, si tiene videobeam y tablero\n        data = cursor.fetchall() #Se obtiene en una lista\n        cursor.close() #Se cierra la conexi\xc3\xb3n\n        return render_template(\'consulta.html\', datos = data) #Se visualizar\xc3\xa1 los resultados, y se pasa a data como parametro\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想在另一个函数中使用该函数中的变量“a”和“b”,因为它们来自用户以表单形式输入的内容。\n问题是我无法“返回”它们,因为 Flask 只允许我返回该函数的 render_template 。

\n\n

有什么想法吗?\n谢谢!!!

\n

ven*_*Mer 5

假设另一个函数是与不同端点关联的视图函数,您可以使用 Flask 会话简单地传递这些变量。例如:

from flask import session

@app.route('/consulta',methods=['POST'])
def consulta():
    if request.method=='POST': #Si se han enviado datos
        dia = request.form['dia'] #Obtenemos los datos del formulario
        videobeam = request.form['videobeam']
        tablero = request.form['tablero']
        hora = request.form['hora']
        aa = darHora(hora)

        session['a'] = aa[0] #<<<<<----- HERE IS PROBLEM
        session['b'] = aa[1] #<<<<<<- HERE IS PROBLEM
        ...

 @app.route('/something')
 def user_parameters():
    a = session.get('a')
    b = session.get('b')
    ...
Run Code Online (Sandbox Code Playgroud)