亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Flask模板渲染與Get和Post請求詳細(xì)介紹

 更新時間:2022年09月07日 08:52:04   作者:weixin_42576837  
這篇文章主要介紹了Flask模板渲染與Get和Post請求,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

模板渲染

所謂模板渲染就是讓flask渲染一個html文檔,比如你有一個html文件,想要在網(wǎng)站上加載出來,你就要渲染它。

首先把這個文件,叫做模板渲染.html,放在templates文件夾下面,

然后代碼中,導(dǎo)入render_template

from flask import Flask,render_template

另外也可以修改模板文件的渲染路徑,使用template_folder來修改

app = Flask(__name__,template_folder='../fdf')

這里我們不修改。

模板渲染.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板渲染</title>
</head>
<body>
<p>你好</p>
<h3>How are you</h3>
</body>
</html>

模板渲染.py:

from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
    return render_template('模板渲染.html')
if __name__ == '__main__':
    app.run()

運(yùn)行這個flask項(xiàng)目,在根路徑下/,執(zhí)行對應(yīng)的視圖函數(shù),渲染對應(yīng)的html文件,顯示如下:

GET和POST請求

在設(shè)置路由的時候,可以設(shè)置訪問url的時候,接受的請求方式。

GET請求表示瀏覽器需要get某一個文件,服務(wù)器就把這個url對應(yīng)的資源發(fā)給瀏覽器,默認(rèn)情況下,我們輸入url地址,就是在使用GET請求的方式請求資源。比如:

@app.route('/',methods=["GET"])
def index():
    return render_template('模板渲染.html')

methods=["GET"]限定訪問方式,不寫,默認(rèn)就是GET方式。

表示在訪問根路徑/時,只接受get方式的請求,那我們輸入url,按回車就是get方式,是可以訪問的。

如果修改成:@app.route('/',methods=["POST"])

當(dāng)我們點(diǎn)擊這個鏈接后:

就會發(fā)現(xiàn):

這就是因?yàn)槲覀兿拗屏烁窂?code>/的訪問只能用POST,當(dāng)然也可以修改為GET,POST都可以的形式

@app.route('/',methods=["GET","POST"])

POST請求,表示的是我現(xiàn)在不是要獲取某個資源,而是我有數(shù)據(jù)需要提交給服務(wù)器,讓服務(wù)器來處理。

首先,我們的html頁面為,這里有一個表單,需要我們填寫數(shù)據(jù),然后我們把數(shù)據(jù)交給服務(wù)器來處理,設(shè)置表單的action="http://localhost:5000/datahandle",也就意味著數(shù)據(jù)提交到/datahandle這個頁面來處理

test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>post請求</title>
</head>
<body>
    <form action = "http://localhost:5000/datahandle" method = "post">
         <table>
            <tr>
                <td>Name</td>
                <td><input type ="text" name ="username"></td>
            </tr>
            <tr>
                <td>Password</td>
                <td><input type ="password" name ="password"></td>
            </tr>
            <tr>
                <td><input type = "submit"></td>
            </tr>
        </table>
    </form>
</form>
</body>
</html>

然后是py文件,

from flask import Flask,render_template,request
app = Flask(__name__)
@app.route('/')
def index():
    return render_template('test.html')
#post數(shù)據(jù)到這個頁面來處理,直接輸入url是get方式訪問,訪問不了,這里限定了只能用POST方式訪問
@app.route('/datahandle',methods=["POST"])
def handle():
    #獲取提交到的數(shù)據(jù)
    name = request.form['username']
    pwd  = request.form['password']
    return f'name: {name}, password: {pwd}'
if __name__ == '__main__':
    app.run()

進(jìn)入到根路徑后會渲染模板文件test.html,然后在表單中輸入name,password后,提交給/datahandle頁面來處理,它對應(yīng)的視圖函數(shù)handle()處理數(shù)據(jù)。但是這里涉及到如何拿到表單中的數(shù)據(jù),需要使用request

from flask import Flask,render_template,request
name = request.form['username']
pwd  = request.form['password']

實(shí)際上,在form表單中輸入的數(shù)據(jù)都被flask以字典的形式存儲起來了,使用print(request.form)可以查看

表單中輸入以下數(shù)據(jù):提交,

在控制臺中輸出ImmutableMultiDict([('username', '123'), ('password', '456')])

鍵值對username='123',password = '456'

然后使用request.form['username']拿到key對應(yīng)的value,或者使用request.form.get('username')一樣可以拿到數(shù)據(jù)。

提交后頁面跳轉(zhuǎn)到了/datahandle中,處理完的數(shù)據(jù)返回出來:

成功的拿到了post方式提交的數(shù)據(jù)。

到此這篇關(guān)于Flask模板渲染與Get和Post請求詳細(xì)介紹的文章就介紹到這了,更多相關(guān)Flask模板渲染內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python基礎(chǔ)教程之while循環(huán)用法講解

    Python基礎(chǔ)教程之while循環(huán)用法講解

    Python中除了for循環(huán)之外還有一個while循環(huán),下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之while循環(huán)用法講解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Python基礎(chǔ)知識_淺談用戶交互

    Python基礎(chǔ)知識_淺談用戶交互

    下面小編就為大家?guī)硪黄狿ython基礎(chǔ)知識_淺談用戶交互。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Python中一些深不見底的“坑”

    Python中一些深不見底的“坑”

    這篇文章主要給大家介紹了關(guān)于Python中一些深不見底的“坑”,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽bar_label()

    Python使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽bar_label()

    這篇文章主要介紹了Python使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽bar_label(),記錄如何用使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽,是以matplotlib.pyplot.bar_label()為例,需要的朋友可以參考一下
    2022-03-03
  • Python如何利用正則表達(dá)式爬取網(wǎng)頁信息及圖片

    Python如何利用正則表達(dá)式爬取網(wǎng)頁信息及圖片

    這篇文章主要給大家介紹了關(guān)于Python如何利用正則表達(dá)式爬取網(wǎng)頁信息及圖片的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 利用Pyhton中的requests包進(jìn)行網(wǎng)頁訪問測試的方法

    利用Pyhton中的requests包進(jìn)行網(wǎng)頁訪問測試的方法

    今天小編就為大家分享一篇利用Pyhton中的requests包進(jìn)行網(wǎng)頁訪問測試的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python實(shí)現(xiàn)判斷給定列表是否有重復(fù)元素的方法

    Python實(shí)現(xiàn)判斷給定列表是否有重復(fù)元素的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)判斷給定列表是否有重復(fù)元素的方法,列舉了2種列表判斷方法,涉及Python針對列表的遍歷、統(tǒng)計(jì)、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Caffe數(shù)據(jù)可視化環(huán)境python接口配置教程示例

    Caffe數(shù)據(jù)可視化環(huán)境python接口配置教程示例

    這篇文章主要為大家介紹了Caffe數(shù)據(jù)可視化環(huán)境python接口配置教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python實(shí)現(xiàn)批量自動整理文件

    Python實(shí)現(xiàn)批量自動整理文件

    本文將利用Python制作一個批量自動整理文件的小工具,可以自定義整理某一個路徑下面的所有需要被整理的文件。感興趣的小伙伴可以了解一下
    2022-03-03
  • python xmind 包使用詳解(其中解決導(dǎo)出的xmind文件 xmind8可以打開 xmind2020及之后版本打開報錯問題)

    python xmind 包使用詳解(其中解決導(dǎo)出的xmind文件 xmind8可以打開 xmind2020及之后版本打

    xmind8 可以打開xmind2020 報錯,如何解決這個問題呢?下面小編給大家?guī)砹藀ython xmind 包使用(其中解決導(dǎo)出的xmind文件 xmind8可以打開 xmind2020及之后版本打開報錯問題),感興趣的朋友一起看看吧
    2021-10-10

最新評論