最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flask模板渲染與Get和Post請求詳細介紹

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

模板渲染

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

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

然后代碼中,導入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()

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

GET和POST請求

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

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

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

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

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

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

當我們點擊這個鏈接后:

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

這就是因為我們限制了根路徑/的訪問只能用POST,當然也可以修改為GET,POST都可以的形式

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

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

首先,我們的html頁面為,這里有一個表單,需要我們填寫數(shù)據,然后我們把數(shù)據交給服務器來處理,設置表單的action="http://localhost:5000/datahandle",也就意味著數(shù)據提交到/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ù)據到這個頁面來處理,直接輸入url是get方式訪問,訪問不了,這里限定了只能用POST方式訪問
@app.route('/datahandle',methods=["POST"])
def handle():
    #獲取提交到的數(shù)據
    name = request.form['username']
    pwd  = request.form['password']
    return f'name: {name}, password: {pwd}'
if __name__ == '__main__':
    app.run()

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

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

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

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

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

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

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

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

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

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

相關文章

  • Pycharm關閉控制臺多余窗口的解決辦法

    Pycharm關閉控制臺多余窗口的解決辦法

    這篇文章主要介紹了Pycharm關閉控制臺多余窗口的解決辦法,文中通過圖文結合的方式講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-12-12
  • python矩陣/字典實現(xiàn)最短路徑算法

    python矩陣/字典實現(xiàn)最短路徑算法

    這篇文章主要為大家詳細介紹了python矩陣/字典實現(xiàn)最短路徑算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Scrapy爬蟲實例講解_?;ňW

    Scrapy爬蟲實例講解_?;ňW

    下面小編就為大家?guī)硪黄猄crapy爬蟲實例講解_?;ňW。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 對pyqt5之menu和action的使用詳解

    對pyqt5之menu和action的使用詳解

    今天小編就為大家分享一篇對pyqt5之menu和action的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python實現(xiàn)多線程爬表情包詳解

    Python實現(xiàn)多線程爬表情包詳解

    這篇文章主要介紹了Python多線程爬表情包,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • OpenCV?imread讀取圖片失敗的問題及解決

    OpenCV?imread讀取圖片失敗的問題及解決

    這篇文章主要介紹了OpenCV?imread讀取圖片失敗的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python?jieba庫的安裝詳細圖文教程

    Python?jieba庫的安裝詳細圖文教程

    jieba庫的作用主要用于中文分詞,是一種不錯的中文分詞組件,下面這篇文章主要給大家介紹了關于Python?jieba庫安裝的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • NLTK的安裝教程及安裝錯誤解決方案

    NLTK的安裝教程及安裝錯誤解決方案

    NLTK是一款用于自然語言處理的Python庫,安裝過程簡單易懂,只需要使用pip安裝即可。若安裝過程中出現(xiàn)錯誤,可以通過更新pip、安裝必要的依賴項、更換鏡像源等方式解決。
    2023-04-04
  • 解讀python正則表達式括號問題

    解讀python正則表達式括號問題

    這篇文章主要介紹了python正則表達式括號問題解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Python?async模塊使用方法雜談

    Python?async模塊使用方法雜談

    協(xié)程(Coroutine),也可以被稱為微線程,是一種用戶態(tài)內的上下文切換技術。簡而言之,其實就是通過一個線程實現(xiàn)代碼塊相互切換執(zhí)行
    2023-04-04

最新評論

怀柔区| 北海市| 比如县| 金秀| 潼关县| 江川县| 建湖县| 勐海县| 体育| 临武县| 白水县| 金川县| 察哈| 松滋市| 来宾市| 万全县| 青冈县| 南城县| 神农架林区| 英德市| 敦煌市| 东乡族自治县| 海阳市| 永安市| 绥芬河市| 岳阳市| 曲周县| 拉孜县| 兴义市| 新泰市| 阳谷县| 斗六市| 曲松县| 静海县| 会东县| 鄢陵县| 逊克县| 民勤县| 石门县| 威信县| 南川市|