python - 在另一个函数中使用一个函数中的变量,用烧瓶
问题描述
我使用 Flask 制作网站。
@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)
a = aa[0] #<<<<<----- HERE IS PROBLEM
b = aa[1] #<<<<<<- HERE IS PROBLEM
cursor = db.connection.cursor()
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))
#Buscamos que coincidan con la base de datos, se pregunta por el dia de disponibilidad, si tiene videobeam y tablero
data = cursor.fetchall() #Se obtiene en una lista
cursor.close() #Se cierra la conexión
return render_template('consulta.html', datos = data) #Se visualizará los resultados, y se pasa a data como parametro
我想在另一个函数中使用该函数中的变量“a”和“b”,因为它们来自用户在表单中的输入。问题是我不能“返回”它们,因为烧瓶只允许我返回该函数的 render_template。
任何想法 ?谢谢!!!
解决方案
假设另一个函数是与不同端点关联的视图函数,您可以使用 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')
...
推荐阅读
- python - 为什么我不断收到我的代码的 EOF 错误?
- html - 我的反应表单如何直接发送到我的电子邮件?
- python - python中的汉明数
- r - 使用 scale_y_log10 函数后如何将点作为辅助轴?
- encryption - 如何将 &rsa::RsaPublicKey(BigUint) 转换为 PEM 并在 RUST 中打印?
- java - 为什么Hadoop不能制作目录?
- ios - UniversalLink 在 iOS 14 设备中不起作用
- qemu - 如何通过 2 个不同的 PCI 端口访问同一个硬件设备
- java - 创建数组
从 xml 文件 - wordpress - Wordpress 网站每一分钟重复加载一次