将变量从一个渲染模板传递到另一个渲染模板

时间:2017-08-03 09:08:31

标签: python flask

我的应用程序应该有多个渲染模板,其中一些应该保持变量。

我现在拥有的例子:

@app.route('/', methods=['POST','GET'])
def index():
    if request.method == 'POST':
    newTitle = request.form['title']
    newDescription = request.form['description']
    newLeftDesctiption = request.form['leftdescrib']
    return render_template('body.html', random = projectName,
                            title = newTitle,
                            desc = newDescription)

这里我将属性传递给模板,现在,我想要实现的是将这些属性传递给新函数,让我们说具有不同路径的body,该函数可以获取属性并传递它们模板,然后再次将它们传递给另一个具有不同路线的功能。

这样,让我们​​说某人选择了projectname,然后POST发生了,我们有另一个显示项目名称的模板,但是函数识别出变量projectname正在存储我们的" x",这意味着它可以通过它进一步说。

这可能吗?

1 个答案:

答案 0 :(得分:-1)

您应该使用Session

from flask import Flask, session
app = Flask(__name__)
app.secret_key = 'any random string'

@app.route('/', methods=['POST','GET'])
def index():
    # use session["newTitle"] if it exists
    if request.method == 'POST':
       session["newTitle"] = request.form['title']
       session["newDescription "]= request.form['description']
    ...

@app.route('/second_page/', methods=['POST','GET'])
def index():
    # use session["newTitle"] if it exists
    ...