我正在使用Flask制作网站。
SELECT id, 'en'
FROM table
GROUP BY id having count(distinct
langcode) >1
union
SELECT id, langcode
FROM table
GROUP BY id having count(distinct
langcode) =1
我想在另一个函数中使用该函数的变量“ a”和“ b”,以防它们来自用户以某种形式输入的内容。 问题是我无法“返回”它们,因为flask只允许我返回该函数的render_template。
有什么主意吗? 谢谢!!!
答案 0 :(得分:1)
假设另一个函数是与另一个端点关联的视图函数,则可以使用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')
...
答案 1 :(得分:0)
一种解决方法是使a
和b
全局变量:
a = None
b = None
@app.route('/consulta',methods=['POST'])
def consulta():
if request.method=='POST': #Si se han enviado datos
...
global a, b
a, b = aa[0], aa[1]
...
现在,每次调用consulta()
时,a
和b
的全局值将被新的替换。在程序的其他位置,您可以执行相同的操作以获取a
和b
的最新设置值。
请注意,如果遇到此问题,则可能需要重新考虑为什么,您需要使用a
和b
的值来执行此操作。它们是否与提交POST请求的特定用户绑定?您如何在其他功能中使用它们,以及相对于该功能何时运行?
如果您需要在各种断开连接的API调用之间访问相同的信息,但是您有一种方法(例如令牌)来跟踪哪个用户正在发出请求,则建议您使用实际的数据库来存储信息。