Flask 入門(mén)及講解

————哈嘍蹋辅,大倩倩又來(lái)啦 ???♀????♀????♀?

——-——求賞求關(guān)注_微信公眾號(hào):倩倩小幸Hu

日常嘮叨

在我的理解看來(lái)留攒,F(xiàn)lask 就是結(jié)合 Python 和 HTML 編寫(xiě) web 頁(yè)面猾昆。

1)Python 用來(lái)編寫(xiě) URL、返回結(jié)果仲智;

2)HTML 編寫(xiě)頁(yè)面參數(shù)沉帮;

3)通過(guò)網(wǎng)頁(yè)端訪問(wèn) WEB 頁(yè)面;

下面就大概講講 Flask 的使用珍剑,我覺(jué)得我就掌握了點(diǎn)皮毛掸宛,歡迎各位補(bǔ)充分享。

1招拙、什么是 Flask

Flask 是一個(gè)輕量級(jí)的可定制框架唧瘾,使用 Python 語(yǔ)言編寫(xiě),較其他同類型框架更為靈活别凤、輕便饰序、安全且容易上手。

Flask 框架的主要特征是核心構(gòu)成比較簡(jiǎn)單规哪,但具有很強(qiáng)的擴(kuò)展性和兼容性求豫,程序員可以使用 Python 語(yǔ)言快速實(shí)現(xiàn)一個(gè)網(wǎng)站或 Web 服務(wù)。

2由缆、安裝 Flask

pip install flask

3注祖、實(shí)例 1

  • 打開(kāi) Pycharm 編輯器,新建一個(gè) py 文件均唉。如:demo.py
from  flask import Flask
#當(dāng)前模塊實(shí)例化一個(gè)Flask對(duì)象
app=Flask(__name__)
#掛載接口地址
@app.route('/add')
#寫(xiě)個(gè)函數(shù)
def add():
    a=1
    b=2
    return a+b
if __name__=="__main__": #如果是從本模塊運(yùn)行的就運(yùn)行下面的
    app.run()
  • 運(yùn)行文件是晨,出現(xiàn)下述的結(jié)果說(shuō)明運(yùn)行成功

    運(yùn)行界面
  • 訪問(wèn):http://127.0.0.1:5000/add,就可以看到返回結(jié)果了~~

這里需要注意的地方是:return 返回的是 str 格式舔箭,否則會(huì)報(bào)錯(cuò)U纸伞!

4层扶、實(shí)例 2

上述是一個(gè)比較簡(jiǎn)單的 Flask 的寫(xiě)法箫章,下面給大家講講如何利用 Flask 發(fā)送 POST/Get 請(qǐng)求.

  • 打開(kāi) Pycharm 編輯器,新建一個(gè) py 文件镜会。如:demo1.py
from  flask import Flask,request,jsonfy
#當(dāng)前模塊實(shí)例化一個(gè)Flask對(duì)象
app=Flask(__name__)
@app.route('/sub1',methods=["post",'get'])   #接口類型
def reduce():
    a = request.json.get('a')
    b = request.json.get('b')
    final = int(a) - int(b)
    print(final)
    return jsonify({"code":1,"msg":"成功","result":str(final)})
if __name__=="__main__": #如果是從本模塊運(yùn)行的就運(yùn)行下面的
    app.run()

如上述寫(xiě)法檬寂,jsonfy 是 Flask 下讓其返回為 json 格式;此時(shí)我們可以通過(guò) PostMan 工具進(jìn)行訪問(wèn)~~

PostMan訪問(wèn)

5戳表、實(shí)例 3

拓展:

當(dāng)我們寫(xiě)一個(gè)接口時(shí)桶至,針對(duì)不同的輸入結(jié)果會(huì)有不同的返回值昼伴,那 Flask 框架下怎么具體操作呢?來(lái)來(lái)來(lái)~~

比如上訴寫(xiě)的減法可能會(huì)出現(xiàn)的情況:

1.a=39,b=12 27

2.a=10 ,b 參數(shù)缺失

3.a='abc',b=3 參數(shù)必須為 int

...........等等情況镣屹。

from  flask import Flask,request,jsonfy
app=Flask(__name__)
@app.route('/sub2',methods=["post"])  def reduce():
    a = request.json.get('a')
    b = request.json.get('b')
    if a is None or b is None:
        return  jsonify({"code":0,"msg":"參數(shù)缺失","result":None})
    if not isinstance(a,int) or not isinstance(b,int):
        return jsonify({"code": 1, "msg": "參數(shù)必須為Int類型", "result": None})

    final = a-b
    return jsonify({"code":2,"msg":"成功","result":str(final)})
if __name__=="__main__": #如果是從本模塊運(yùn)行的就運(yùn)行下面的
    app.run()

寫(xiě)完后繼續(xù) POSTMAN 調(diào)用查看是否成功:

PostMan訪問(wèn)接口

6圃郊、實(shí)例 4

下面給大家講講 Flask 編寫(xiě) HTML 網(wǎng)頁(yè)。

  • 1女蜈、新建文件夾:templates[固定寫(xiě)法]

  • 2持舆、新建 login.html[放在templates中]

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!-- 新 Bootstrap4 核心 CSS 文件 -->
    <link rel="stylesheet" >
    <title>Title</title>
</head>
<body>
     <h1>接口測(cè)試報(bào)告<h1>
         <h2>執(zhí)行人:{{tester}}<h2>   #2個(gè)括號(hào)表示變量
             <p>成功:{{pass_NO}}</p>
             <p>失敗:{{fail_NO}}</p>
     <table class="table">
         <div class="container">
           <tr><td>用例名稱</td><td>執(zhí)行結(jié)果</td></tr>
          {% for item in data %}
           <tr><td>{{item['case']}}</td><td>{{item['result']}}</td></tr>
          {% endfor %}
         </div>
                 </table>
</body>
</html>

  • 3伪窖、編寫(xiě) demo3.py
from flask import Flask,request,jsonify,render_template
app=Flask(__name__)
data=[
    {'case':'test_sub01','result':"PASS"},
    {'case': 'test_sub02', 'result': "FAIL"},
    {'case': 'test_sub03', 'result': "PASS"},
    {'case': 'test_sub04', 'result': "PASS"}
]
@app.route('/login')
def login():
      return render_template('login.html',tester="倩倩",pass_NO=4,fail_NO=1,data=data)
if __name__=="__main__":
    app.run()

訪問(wèn)網(wǎng)頁(yè):http://127.0.0.1:5000/login查看結(jié)果.
網(wǎng)頁(yè)的格式可以多種多樣逸寓,需要自己根據(jù)需要自行定義。
給大家介紹一個(gè)前端組件庫(kù):Bootstrap4
教程鏈接:https://www.runoob.com/bootstrap4/bootstrap4-install.html

贊我 ?? 贊我 ?? 贊我 ?? 贊我 ?? 贊我 ?? 贊我 ??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惰许,一起剝皮案震驚了整個(gè)濱河市席覆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌汹买,老刑警劉巖佩伤,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異晦毙,居然都是意外死亡生巡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)见妒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)孤荣,“玉大人,你說(shuō)我怎么就攤上這事须揣⊙喂桑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵耻卡,是天一觀的道長(zhǎng)疯汁。 經(jīng)常有香客問(wèn)我,道長(zhǎng)卵酪,這世上最難降的妖魔是什么幌蚊? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮溃卡,結(jié)果婚禮上溢豆,老公的妹妹穿的比我還像新娘。我一直安慰自己瘸羡,他們只是感情好漩仙,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般讯赏。 火紅的嫁衣襯著肌膚如雪垮兑。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天漱挎,我揣著相機(jī)與錄音,去河邊找鬼雀哨。 笑死磕谅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雾棺。 我是一名探鬼主播膊夹,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼捌浩!你這毒婦竟也來(lái)了放刨?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤尸饺,失蹤者是張志新(化名)和其女友劉穎进统,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體浪听,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡螟碎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了迹栓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掉分。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖克伊,靈堂內(nèi)的尸體忽然破棺而出酥郭,到底是詐尸還是另有隱情,我是刑警寧澤愿吹,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布不从,位于F島的核電站,受9級(jí)特大地震影響洗搂,放射性物質(zhì)發(fā)生泄漏消返。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一耘拇、第九天 我趴在偏房一處隱蔽的房頂上張望撵颊。 院中可真熱鬧,春花似錦惫叛、人聲如沸倡勇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)妻熊。三九已至夸浅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扔役,已是汗流浹背帆喇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亿胸,地道東北人坯钦。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像侈玄,于是被迫代替她去往敵國(guó)和親婉刀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容