2017-08-03 146 views
0

我有应用程序应该有多个渲染模板,其中一些应该保持可变。什么我现在有将变量从一个渲染模板传递到另一个渲染模板

例子:

@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) 

在这里,我路过属性模板,现在,我希望能实现的是那些属性传递给新的功能,可以说,所谓的体一个不同的路由,函数可以接受这些属性并将它们传递给模板,然后再将它们传递给具有不同路由的另一个函数。

通过这种方式,可以说,有人选择项目名称,然后POST happends,我们有一个显示项目名称的另一个模板,而且功能识别变量项目名称被存储我们的“X”,这意味着它可以通过它进一步藏汉。

这可能吗?

+1

作为守护者说,你可以使用'session'了点。如果你没有碰到它,这是一个很好的教程,涵盖了大量的烧瓶 - https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-v-user-logins – Craicerjack

回答

-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 
    ... 
+0

谢谢。我真的知道会话的使用,但可能有其他方式。 –