Flask 其他操作

請求request

服務端在接收到客戶端的請求后聚凹,會自動創(chuàng)建Request對象
由Flask框架創(chuàng)建,Request對象不可修改
屬性:

url:完整的請求地址

base_url:去掉GET參數(shù)的url

host_url:只有主機和端口號的url

path:路由中的路徑

method:請求方法

remote_addr:請求的客戶端的地址

args:GET請求參數(shù)

form:POST請求參數(shù)

files:文件上傳

headers:請求頭

cookies:請求中的cookie

args-->GET請求參數(shù)包裝

args是get請求參數(shù)的包裝抽诉,args是一個lmmutableMultiDict對象陨簇,類字典結構對象
數(shù)據(jù)存儲也是key-value

from-->POST請求參數(shù)包裝

form是post請求參數(shù)的包裝,args是一個lmmutableMultiDict對象迹淌,類字典結構對象
數(shù)據(jù)存儲也是key-value
重點:lmmutableMultiDict是類似字典的數(shù)據(jù)結構河绽,但是與字典的區(qū)別是,<font style="color:red; font-weight:bold;">可以存在相同的鍵</font>
在lmmutableMultiDict中獲取數(shù)據(jù)的方式唉窃,dict['key']或者dict.get('key')或者dict.getlist('key')

響應Respone

Response是由開發(fā)者自己創(chuàng)建的
創(chuàng)建方法:

from flask import make_response

make_response 創(chuàng)建一個響應葵姥, 是一個真正的Response對象

狀態(tài)碼:
格式:make_reponse(data, code), 其中data是返回的數(shù)據(jù)內(nèi)容,code是狀態(tài)碼

a. 直接將內(nèi)容當做make_response的第一個參數(shù)句携,第二個參數(shù)直接寫返回的狀態(tài)碼
b. 直接在render后加返回的狀態(tài)碼
例子1:
定義一個獲取GET請求的request的方法榔幸,并將返回成功的請求的狀態(tài)碼修改為200

@blue.router('/getrequest/', methods=['GET'])
def get_request():
    print(request)
    return '獲取request', 200

例子2:
返回response響應,并添加返回結果的狀態(tài)碼200

@blue.route('/getrespone/')
def get_response():
    response = make_response('<h2>我是響應</h2>',500)
    return response

或者:

@blue.router('/getresponse/', methods=['GET'])
def get_user_response():
    login_html = render_template('login.html')
    res = make_response(login_html, 200)
    return res

重定向/反向解析

url_for('藍圖定義的名稱.方法名')

例子1:
定義跳轉方法矮嫉,跳轉到get_response的方法上

@blue.route('/getredirect/')
def get_redirect():
    return redirect('getresponse')

例子2:
使用url_for反向解析

from flask import redirect, url_for

@blue.route('/getredirect/')
def get_redirect():
    return redirect(url_for('first.get_response'))

終止/異常捕獲

自動拋出異常:abort(狀態(tài)碼)
捕獲異常處理:errorhandler(狀態(tài)碼)削咆,定義的函數(shù)中要包含一個參數(shù),用戶接收異常信息

定義終止程序
@blue.route('/make_abort/')
def get_abort():
    abort(400)
    return '終止'
捕獲定義的異常
@blue.errorhandler(400)
def handler(exception):
    return '捕獲到異常信息:%s' % exception
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蠢笋,一起剝皮案震驚了整個濱河市拨齐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌昨寞,老刑警劉巖瞻惋,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異援岩,居然都是意外死亡歼狼,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門享怀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來羽峰,“玉大人,你說我怎么就攤上這事∶诽耄” “怎么了值纱?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長坯汤。 經(jīng)常有香客問我虐唠,道長,這世上最難降的妖魔是什么惰聂? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任疆偿,我火速辦了婚禮,結果婚禮上庶近,老公的妹妹穿的比我還像新娘翁脆。我一直安慰自己眷蚓,他們只是感情好鼻种,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著沙热,像睡著了一般叉钥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上篙贸,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天投队,我揣著相機與錄音,去河邊找鬼爵川。 笑死敷鸦,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的寝贡。 我是一名探鬼主播扒披,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼圃泡!你這毒婦竟也來了碟案?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤颇蜡,失蹤者是張志新(化名)和其女友劉穎价说,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體风秤,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鳖目,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缤弦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疑苔。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惦费,到底是詐尸還是另有隱情兵迅,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布薪贫,位于F島的核電站恍箭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏瞧省。R本人自食惡果不足惜扯夭,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鞍匾。 院中可真熱鬧交洗,春花似錦、人聲如沸橡淑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽梁棠。三九已至置森,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間符糊,已是汗流浹背凫海。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留男娄,地道東北人行贪。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像模闲,于是被迫代替她去往敵國和親建瘫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354