




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Flask的HTTP方法與模板2知識(shí)目標(biāo)Flask的HTTP方法Flask的模板01能力目標(biāo)了解Flask的HTTP方法掌握Flask的模板02學(xué)習(xí)目標(biāo)3目錄01Flask的HTTP方法02Flask的模板Flask的HTTP方法4Http協(xié)議是萬維網(wǎng)中數(shù)據(jù)通信的基礎(chǔ)。在該協(xié)議中定義了從指定URL檢索數(shù)據(jù)的不同方法。下表總結(jié)了不同的http方法:序號(hào)方法與描述1GET以未加密的形式將數(shù)據(jù)發(fā)送到服務(wù)器。最常見的方法。2HEAD和GET方法相同,但沒有響應(yīng)體。3POST用于將HTML表單數(shù)據(jù)發(fā)送到服務(wù)器。POST方法接收的數(shù)據(jù)不由服務(wù)器緩存。4PUT用上傳的內(nèi)容替換目標(biāo)資源的所有當(dāng)前表示。5DELETE刪除由URL給出的目標(biāo)資源的所有當(dāng)前表示。Flask的HTTP方法5默認(rèn)情況下,F(xiàn)lask路由響應(yīng)GET請(qǐng)求。但是,可以通過為route()裝飾器提供方法參數(shù)來更改此首選項(xiàng)。為了演示在URL路由中使用POST方法,首先讓我們創(chuàng)建一個(gè)HTML表單,并使用POST方法將表單數(shù)據(jù)發(fā)送到URL。將以下腳本另存為login.htmlFlask的HTTP方法6現(xiàn)在在Pythonshell中輸入以下腳本:Flask的HTTP方法7開發(fā)服務(wù)器開始運(yùn)行后,在瀏覽器中打開login.html,在文本字段中輸入name,然后單擊提交。Flask的HTTP方法8表單數(shù)據(jù)將POST到表單標(biāo)簽的action子句中的URL。http://localhost/login映射到login()函數(shù)。由于服務(wù)器通過POST方法接收數(shù)據(jù),因此通過以下步驟獲得從表單數(shù)據(jù)獲得的“nm”參數(shù)的值:user=request.form['nm']它作為變量部分傳遞給'/success'URL。瀏覽器在窗口中顯示welcome消息。Flask的HTTP方法9在login.html中將方法參數(shù)更改為'GET',然后在瀏覽器中再次打開它。服務(wù)器上接收的數(shù)據(jù)是通過GET方法獲得的。通過以下的步驟獲得'nm'參數(shù)的值:User=request.args.get(‘nm’)這里,args是包含表單參數(shù)對(duì)及其對(duì)應(yīng)值對(duì)的列表的字典對(duì)象。與'nm'參數(shù)對(duì)應(yīng)的值將像之前一樣傳遞到'/success'URL。Flask的模板10可以以HTML的形式返回綁定到某個(gè)URL的函數(shù)的輸出。例如,在以下腳本中,hello()函數(shù)將使用標(biāo)簽呈現(xiàn)'HelloWorld'。Flask的模板11但是,從Python代碼生成HTML內(nèi)容很麻煩,尤其是在需要放置變量數(shù)據(jù)和Python語言元素(如條件或循環(huán))時(shí)。這需要經(jīng)常從HTML中轉(zhuǎn)義。這是可以利用Flask所基于的Jinja2模板引擎的地方。而不是從函數(shù)返回硬編碼HTML,可以通過render_template()函數(shù)呈現(xiàn)HTML文件。Flask的模板12Flask將嘗試在templates文件夾中找到HTML文件,該文件存在于此腳本所在的文件夾中。ApplicationfolderHello.pytemplateshello.html術(shù)語‘webtemplatingsystem(web模板系統(tǒng))’指的是設(shè)計(jì)一個(gè)HTML腳本,其中可以動(dòng)態(tài)插入變量數(shù)據(jù)。web模板系統(tǒng)包括模板引擎,某種數(shù)據(jù)源和模板處理器。Flask使用jinga2模板引擎。Web模板包含用于變量和表達(dá)式(在這些情況下為Python表達(dá)式)的HTML語法散布占位符,這些是在呈現(xiàn)模板時(shí)替換的值。Flask的模板13以下代碼在templates文件夾中另存為hello.html。Flask的模板14接下來,從Pythonshell運(yùn)行以下腳本:當(dāng)開發(fā)服務(wù)器開始運(yùn)行時(shí),打開瀏覽器并輸入U(xiǎn)RL-http://localhost:5000/hello/mvlURL的變量部分插入{{name}}占位符。Flask的模板15Jinja2模板引擎使用以下分隔符從HTML轉(zhuǎn)義。{%...%}用于語句{{...}}用于表達(dá)式可以打印到模板輸出{#...#}用于未包含在模板輸出中的注釋#...##用于行語句Flask的模板16在下面的示例中,演示了在模板中使用條件語句。hello()函數(shù)的URL規(guī)則接受整數(shù)參數(shù)。它被傳遞到hello.html模板。其中,比較接收的數(shù)字(marks)的值(大于或小于50),因此有條件地呈現(xiàn)HTML。Python腳本如下:Flask的模板17hello.html的HTML模板腳本如下:請(qǐng)注意,條件語句if-else和endif包含在分隔符{%..%}中。運(yùn)行Python腳本并訪問URLhttp://localhost/hello/60,然后訪問http://localhost/hello/30,以查看HTML的輸出是否有條件地更改。Flask的模板18Python循環(huán)結(jié)構(gòu)也可以在模板中使用。在以下腳本中,當(dāng)在瀏覽器中打開URLhttp://localhost:5000/result時(shí),result()函數(shù)會(huì)將字典對(duì)象發(fā)送到模板results.html。result.html的Template部分使用for循環(huán)將字典對(duì)象result{}的鍵和值對(duì)呈現(xiàn)為HTML表的單元格。從Pythonshell運(yùn)行以下代碼:Flask的模板19將以下HTML腳本保存為templates文件夾中的result.html:Flask的模板
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供方采購合同范本
- 企業(yè)項(xiàng)目合資合同范本
- 浙江長興縣龍山中學(xué)人教版七年級(jí)下冊(cè)歷史與社會(huì)第八單元第三課 中華文明探源教學(xué)設(shè)計(jì)
- 2024年韶關(guān)市曲江區(qū)住房和城鄉(xiāng)建設(shè)管理局招聘筆試真題
- 公司英文合同范本
- 農(nóng)田路養(yǎng)護(hù)合同范本
- 前臺(tái)收銀合同范本
- 包材銷售合同范本
- 2024年金昌市金川區(qū)圖書館招聘筆試真題
- 農(nóng)村自建住宅買賣合同范本
- 世界給予我的 課件-2024-2025學(xué)年高二下學(xué)期開學(xué)第一課主題班會(huì)
- 法社會(huì)學(xué)教程(第三版)教學(xué)
- 大學(xué)學(xué)院學(xué)生心理危機(jī)預(yù)防與干預(yù)工作預(yù)案
- 國有土地上房屋征收與補(bǔ)償條例 課件
- 安全文明施工管理(EHS)方案(24頁)
- 水廠項(xiàng)目基于BIM技術(shù)全生命周期解決方案-城市智慧水務(wù)講座課件
- 幼兒園繪本:《閃閃的紅星》 紅色故事
- 鐵路建設(shè)項(xiàng)目施工企業(yè)信用評(píng)價(jià)辦法(鐵總建設(shè)〔2018〕124號(hào))
- 叉形件加工設(shè)計(jì)與分析論文
- 高強(qiáng)螺栓質(zhì)保書
- 市政工程施工進(jìn)度網(wǎng)絡(luò)圖
評(píng)論
0/150
提交評(píng)論