在这里,我分享了一个我试图实现的示例代码。
my_bluprint = Blueprint('index',
__name__,
template_folder=template_dir)
@my_bluprint.route('/print', methods=['GET', 'POST'])
def my_function_2():
print('i was redirected')
if request.method == 'POST':
age = request.form.get('age')
print('AGE: ', age)
return render_template("form2.html")
@my_bluprint.route('/test', methods=['GET', 'POST'])
def my_function():
if request.method == 'POST':
print('my_function')
# do something
name = request.form.get('name')
print('my_name', name)
if name == 'root':
print('name is ', name)
return redirect(url_for("index.my_function_2"))
# age = request.form.get('age')
print('AGE: ',age) # I need input age from my_function_2 here
age_trans = my_module.ageMul(age)
print('TransAGE: ', age_trans)
return render_template("result.html", result=age_trans)
return render_template("form1.html")
在运行时,我的程序将使用来自一个模板的输入来决定下一个重定向哪个模板。我尝试用我在示例代码中使用的方式来呈现模板,但是我需要来自以前模板的输入,以便进一步处理,并结合所有其他呈现的模板的输入。
编辑
我可以重定向到代码中的其他路径。但是我需要输入我正在使用的模板
my_function_2()
在里面
my_function()
在执行
. 这意味着我需要回到主路线i-e
/test
数据来自
my_function_2
另一个主意
我的函数()
我的函数()
? 这样我就只能有一条路线渲染多个模板?但是我想保留之前呈现的所有模板的数据
这样做的好方法是什么?
我试过了
@my_bluprint.route('/test', methods=['GET', 'POST'])
def my_function():
if request.method == 'POST':
#name = request.form.get('name')
session['name'] = request.form['name']
print('my_name', session['name'])
if session['name'] == 'root':
print('name is ', session['name'])
#return redirect(url_for("index.my_function_2"))
return render_template("form2.html")
age = request.form.get('age')
print('AGE ',age)
age_trans = my_module.ageMul(age)
print('TransAGE: ', age_trans)
print(session['name'])
return render_template("result.html", result=age_trans)
return render_template("form1.html")
return render_template("form2.html")
if request.method == 'POST':
从一开始就执行它,在这里给我错误
session['name'] = request.form['name']
但我希望程序控件总是向前移动,它在第一次运行时得到的值
render_template("form1.html")