def application(environ, start_response):
start_response(200 OK, [(Content-Type, text/html)])
return [bHello, world!
]
from flask import Flask
app = Flask(__name__) #生成app實(shí)例
@app.route(/index)
def index():
return Hello World
class Flask(_PackageBoundObject): #Flask類
...
def __call__(self, environ, start_response): #Flask實(shí)例的__call__方法
return self.wsgi_app(environ, start_response) #
response = self.full_dispatch_request()
class Flask(_PackageBoundObject):
def full_dispatch_request(self):
self.try_trigger_before_first_request_functions() #進(jìn)行發(fā)生真實(shí)請(qǐng)求前的處理
try:
request_started.send(self) #socket部分的操作
rv = self.preprocess_request() #進(jìn)行請(qǐng)求的預(yù)處理
if rv is None:
rv = self.dispatch_request()
except Exception as e:
rv = self.handle_user_exception(e)
response = self.make_response(rv)
response = self.process_response(response)
request_finished.send(self, response=response)
return response
try:
try:
response = self.full_dispatch_request()
except Exception as e:
error = e
response = self.make_response(self.handle_exception(e))
return response(environ, start_response)
finally:
if self.should_ignore_error(error):
error = None
ctx.auto_pop(error)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129703.html
摘要:有兩類應(yīng)用級(jí)和請(qǐng)求級(jí)。一個(gè)響應(yīng)中非常重要的部分是狀態(tài)碼,默認(rèn)設(shè)置來(lái)指示請(qǐng)求已經(jīng)成功處理。重定向通常由響應(yīng)狀態(tài)碼注明并且重定向的由頭部的給出。因?yàn)檫@些變化,應(yīng)用程序獲得一組基本的命令行選項(xiàng)。運(yùn)行顯示可用信息在應(yīng)用程序上下文的內(nèi)部運(yùn)行一個(gè)。 5、請(qǐng)求-響應(yīng)循環(huán) 現(xiàn)在你已經(jīng)玩過一個(gè)基本的Flask應(yīng)用程序,你也許想要知道更多關(guān)于Flask如何施展魔力。下面章節(jié)描述了一些框架設(shè)計(jì)方面的特點(diǎn)。...
摘要:另外,如果你對(duì)模板渲染部分的內(nèi)容感興趣,也可以考慮閱讀文檔文檔文檔源碼閱讀,可以參考下面的函數(shù)打斷點(diǎn),再測(cè)試一個(gè)請(qǐng)求,理清過程。 Flask-Origin 源碼版本 一直想好好理一下flask的實(shí)現(xiàn),這個(gè)項(xiàng)目有Flask 0.1版本源碼并加了注解,挺清晰明了的,我在其基礎(chǔ)上完成了對(duì)Werkzeug的理解部分,大家如果想深入學(xué)習(xí)的話,可以參考werkzeug_flow.md. 閱讀前 為...
摘要:使用藍(lán)圖的概念來(lái)制作應(yīng)用程序組件和支持應(yīng)用程序內(nèi)部或跨應(yīng)用程序的通用模式。藍(lán)圖可以大大簡(jiǎn)化大型應(yīng)用程序的工作方式,并為擴(kuò)展提供了在應(yīng)用程序上注冊(cè)操作的中心手段。相反,它是如何構(gòu)造或擴(kuò)展應(yīng)用程序的藍(lán)圖。 藍(lán)圖 之前我們已經(jīng)通過代碼了解了一些Flask基本的用法,現(xiàn)在出現(xiàn)一個(gè)問題,我們要做的功能越來(lái)越多,路由是不是都要放在run文件中呢?例如我們?cè)诓煌奈募级x了一些路由,如果想要訪問他...
摘要:最近由于工作關(guān)系,開始寫程序,同事有用的,有用的。第一種適合及以上版本,因?yàn)樵诎姹酒穑霈F(xiàn)了文件,配置可以寫成用文件啟動(dòng)程序,實(shí)測(cè)可以觸發(fā)斷點(diǎn)。 最近由于工作關(guān)系,開始寫flask web程序,同事有用Vim的,有用PyCharm的。在調(diào)研了一通python的編輯器,IDE之后,發(fā)現(xiàn)Visual Studio Code相對(duì)比較適合我。 VSC有相對(duì)較全的功能,比較好看舒服的主題,良好的...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20