摘要:初始化所有的程序都必須創建一個程序實例,這個程序實例就是類的對象。定義路由最簡便的方式,是使用程序實例提供的修飾器前例把函數注冊為程序根地址的處理程序。
初始化
所有的Flask程序都必須創建一個程序實例, 這個程序實例就是Flask類的對象??蛻舳税颜埱蟀l送給Web服務器, 服務器再把請求發送給Flask程序實例, 然后由程序實例處理請求。
創建程序實例:
from flask import Flask app = Flask(__name__) ? ? ? ?
注意: 此處的__name__是一個全局變量, 它的值是代碼所處的模塊或包的名字, Flask用這個參數決定程序的根目錄, 以便稍后能找到相對于程序根目錄的資源文件位置。路由和視圖函數
? ? 還是上面那句話——客戶端把請求發送給Web服務器, 服務器再把請求發送給Flask程序實例, 然后由程序實例處理請求。
? ? 那么程序實例如何處理請求, 答案是程序實例通過路由來處理請求——路由就是URL和處理請求的函數的映射——處理請求的函數就叫做視圖函數。
? ? Flask定義路由最簡便的方式, 是使用程序實例提供的app.route修飾器:
@app.route("/"): def index(): return "Hello world!
"
? ? ? ?
? ? ? ?
前例把index()函數注冊為程序根地址的處理程序。 (?如果部署程序的服務器域名為www.example.com, 在瀏覽器中訪問http://www.example.com后, 會觸發服務器執行index()函數。 )
? ? ? ? ?這個函數的返回值稱為響應, 是客戶端接收到的內容。
? ? 地址中包含可變部分的路由:
? ? ? ? @app.route("/user/
? ? ? ? ?def user(name):
? ? ? ? ? ? ?return "
? ? ? ? 尖括號中的內容就是動態部分,任何能匹配靜態部分的URL都會映射到這個視圖函數, 調用視圖函數時, Flask會將動態部分作為參數傳入函數。
? ? ? ? 注意:路由中的動態部分默認類型是字符串, 不過也可以使用別的類型如:/user/
3.啟動服務器
? ? 程序實例用run方法啟動Flask集成的開發Web服務器:
? ? ? ? if name == "__main__": (只有直接運行該模塊時條件才為真, 該模塊被導入條件為假)
? ? ? ? ? ? app.run(debug=True) ?#debug參數為True, 表示啟用調試模式。
? ? 服務器啟動后會進入輪詢, 等待并處理請求, 直到程序停止, 比如按Ctrl+C
4.一個完整的程序
from flask import Flask
app = Flask(__name__)
靜態路由@app.route("/")
def index():
? ? return "
@app.route("/user/
def index(name):
? ? return "
if name == "__main__":
? ? #服務器輪詢
? ? app.run(debug=True)
————————————————————————實踐—————————————————————————
5.實踐操作
一.準備
按上節所說,?
? ? &cd flasky ? ? 進入flasky文件夾
? ? &source venv/bin/activate ? ?激活虛擬環境
遷出新版本,
? ? &git checkout 2a ? ? ?此命令遷出的是只含有靜態路由的程序, 效果圖如下:
? ? ? ??
? ? ? ? ?注意此時遷出的版本hello.py只有一個靜態路由。 而且沒有啟動服務器的代碼, 我們要手動修改加上, 然后:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42500.html
摘要:啟動項目,驗證進入到項目中的中的方法的類中,在方法上點擊啟動啟動報錯,查看報錯原因分析問題原因說明端口被占用了。解決方法修改的端口號,或者將端口的應用的端口號修改了。再次啟動項目啟動成功,驗證項目,驗證成功 1.創建項目 打開IDEA,File->New->ProjectshowImg(https://segmentfault.com/img/bV22nr?w=523&h=225); ...
摘要:快速入門什么是是一個開放源代碼的庫,為呈現的數據提供了視圖渲染。最后,項目根組件應該通過來進行注冊,以便能夠進行打包和正常運行?;舅枷胧卿秩疽粋€立方體,并將觀眾置于中心,隨后移動。表示從指定方向平均照亮所有物體的光源。 React VR 快速入門 什么是React React是一個開放源代碼的JavaScript庫,為HTML呈現的數據提供了視圖渲染。React視圖通常使用指定的像H...
摘要:堆棧位于通用隨機訪問存儲器中,但通過堆棧指針可以從處理器那里獲得直接支持。堆棧指針若向下移動,則分配新的內存若向上移動,則釋放那些內存。創建程序時,系統必須知道存儲在堆棧內所有項的確切聲明周期,以便上下移動堆棧指針。 寫在前面 首先我想說的是 Java編程思想——知識卡片 將是一系列文章,文章的內容是我閱讀《Java編程思想》這本書的心得體會,那么我為什么要寫這一系列的文章呢?原因有一...
閱讀 1887·2021-11-15 11:46
閱讀 1077·2021-10-26 09:49
閱讀 1819·2021-10-14 09:42
閱讀 3374·2021-09-26 09:55
閱讀 827·2019-08-30 13:58
閱讀 1024·2019-08-29 16:40
閱讀 3462·2019-08-26 10:27
閱讀 601·2019-08-23 18:18