在 Flask 頁面之間傳遞變數
在 Flask 應用程式中,經常需要在不同頁面之間共用資料。這可能包括傳遞使用者的會話資訊、表單提交或需要在多個頁面上存取的任何其他資料。
傳遞變數的一種方法是透過 會話。會話是一個伺服器端字典,用於儲存特定使用者的資料。它在請求之間持續存在,使其成為傳遞不需要對客戶端可見的變數的合適選項。
要使用會話,只需使用會話字典設定所需的值。例如:
@app.route('/a') def a(): session['my_var'] = 'my_value' return redirect(url_for('b'))
在目標頁面上,您可以使用以下方式從會話中檢索變數:
@app.route('/b') def b(): my_var = session.get('my_var', None) return my_var
但是,會話資料的大小有限制,通常約為4000 字節。如果需要傳遞大量數據,建議使用資料庫或其他資料儲存解決方案。
傳遞變數的另一種方法是透過查詢參數。查詢參數附加到 URL,使它們對客戶端可見。此方法對於傳遞不需要儲存在伺服器上的少量資料非常有用。
要使用查詢參數,只需使用url_for 函數將變數附加到網址:
<a href="{{ url_for('b', my_var='my_value') }}">Send my_value</a>
這將產生URL:
/b?my_var=my_value
在目標頁上,您可以使用request.args 檢索查詢參數object:
@app.route('/b') def b(): my_var = request.args.get('my_var', None)
這兩種在Flask頁面之間傳遞變數的方法都有其優點和缺點。會話更加安全並且在請求之間持續存在,而查詢參數則更加輕量並且允許資料對客戶端可見。選擇最適合您需求的方法。
以上是如何在 Flask 應用程式的頁面之間有效率地傳遞變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!