我对Flask有问题。 我在完成路由和声明任何函数之前先声明一个变量。该变量最初设置为空字符串。
然后,当用户单击“提交”按钮时,该变量的值将更改,并且由于在其他任何操作之前都已声明该变量,因此应该可以从另一个函数(该函数呈现另一个页面)进行访问。
我可以访问该变量,但是由于某些原因它为空。
这是我的代码:
import torch
import numpy as np
y =[1, 2, 3, 5, 9, 1]
print("numpy=",np.median(y))
print(sorted([1, 2, 3, 5, 9, 1]))
yt = torch.tensor(y,dtype=torch.float32)
ymax = torch.tensor([yt.max()])
print("torch=",yt.median())
print("torch_fixed=",(torch.cat((yt,ymax)).median()+yt.median())/2.)
和HTML:
@
我在哪里弄错了?
答案 0 :(得分:1)
请使用session存储请求之间的值:
除了请求对象外,还有一个名为会话的第二个对象,它使您可以存储从一个请求到下一个请求的特定于用户的信息。这是在您的cookie之上实现的,并以加密方式对cookie进行签名。这意味着用户可以查看您Cookie的内容,但不能对其进行修改,除非他们知道用于签名的密钥。
例如:
from flask import session
app.secret_key = 'dev'
@app.route("/", methods=["GET", "POST"])
def index():
pred_s = str(prediction)
m = Money(amount=pred_s, currency='EUR')
session['predicted_output'] = str(m) # store it to session
return redirect(url_for("result"))
@app.route("/result")
def result():
predicted_output = session['predicted_output'] # get it from session
return render_template("result.html", the_final_value=predicted_output)
答案 1 :(得分:0)
您需要在重定向期间发送数据,然后再捕获数据,就像这样:
setUploads($conn,$imgs);
function setUploads($conn,$file) {
if (isset($_POST['uploadSubmit'])) { . . .