1. 程式人生 > >應用上下文和請求上下文

應用上下文和請求上下文

mage app name code png 如果 div lis run

from flask import Flask,request,session,url_for,current_app
from werkzeug.local import Local,LocalStack #線程隔離技術
#只要綁定在Local對象上的屬性
#在每個線程中都是隔離

app = Flask(__name__)


# print(current_app.name)#RuntimeError: Working outside of application context.
#怎麽解決上面的錯誤
app_context = app.app_context()
app_context.push()
#把當前app推進取 print(current_app.name)#flask_context_demo #可以用with語句簡化 with app.app_context(): print(current_app.name) @app.route(/) def hello_world(): #就是顯示當前app的名字 print(current_app.name) print(url_for(my_list)) return Hello World! @app.route(/list/) def my_list(): return
my list with app.test_request_context(): #手動推入一個請求上下文到請求上下文棧中 #如果當前應用上下文棧中沒有應用上下 #那麽會首先推入一個應用上下文到棧中 print(url_for(my_list)) if __name__ == __main__: app.run()

技術分享圖片

技術分享圖片

技術分享圖片

應用上下文和請求上下文