2017-08-03 233 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

謝謝。我真的知道會話的使用,但可能有其他方式。 –