日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flask框架基本使用(2)(响应与重定向)

發(fā)布時(shí)間:2023/12/1 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flask框架基本使用(2)(响应与重定向) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#轉(zhuǎn)載請留言聯(lián)系

flask 框架基本使用(1):https://www.cnblogs.com/chichung/p/9756935.html

1. flask 自定義返回狀態(tài)碼與響應(yīng)頭

from flask import Flask,make_responseapp=Flask(__name__)@app.route("/") def index():#666是指定的狀態(tài)碼,name:chichung是添加到響應(yīng)頭的鍵對(duì)return "<h1>我是大標(biāo)題</h1>",666,{"name":"chichung"}if __name__ == '__main__':app.run()

?

2. flask 返回json

json 是 js 里面默認(rèn)的一種對(duì)象格式,是當(dāng)今網(wǎng)絡(luò)普遍使用的一種數(shù)據(jù)傳輸格式,應(yīng)用在不同的平臺(tái)或不同的編程語言直接進(jìn)行數(shù)據(jù)的傳輸。

在開發(fā)中,經(jīng)常遇到后端返回 json 給前端的情況。那么,用 flask 應(yīng)該怎么返回 json 呢?

from flask import Flask,jsonifyapp = Flask(__name__)@app.route("/index_data") def index_data():respond_data = { #判斷json格式是否正確可以用搜索一下json格式化"name": "chichung","height": 177,"weight": 110.5}return jsonify(respond_data)if __name__ == '__main__':app.run()

jsonify 方法可以把 respond_data 字典轉(zhuǎn)化為 json 的字符串(原理與 json.dump())相同,然后在進(jìn)行返回給前端。

拓展:

在返回不同的數(shù)據(jù)時(shí)(例如圖片,js,css......),通常要指定響應(yīng)頭,寫上返回的數(shù)據(jù)的類型。

# js
text/javascript
application/javascript


# css
text/css


# html
text/html


# json
application/json
text/json

# png,gif,jpg/jpeg
image/png
image/gif
image/jpeg
image/jpg

?

3. flask 實(shí)現(xiàn)網(wǎng)頁的重定向響應(yīng)

重定向響應(yīng)是什么呢?舉個(gè)栗子說明。京東以前的域名是www.360buy.com,而現(xiàn)在改為了www.jd.com。但是你訪問360buy.com的時(shí)候,會(huì)自動(dòng)跳轉(zhuǎn)到j(luò)d.com。假設(shè)你是京東的web開發(fā),你要實(shí)現(xiàn)這個(gè)功能,你會(huì)怎么做呢?

from flask import Flask,redirectapp=Flask(__name__)@app.route("/") def index():return redirect("http://www.jd.com")if __name__ == '__main__':app.run()

還有一種情況,你打開淘寶,點(diǎn)進(jìn)“我的淘寶”,跳出了讓你登錄的窗口。這是怎么實(shí)現(xiàn)的呢?

from flask import Flask,redirect,url_forapp=Flask(__name__)@app.route("/center") def center():#如果還沒登錄自動(dòng)跳轉(zhuǎn)到登錄界面url = url_for("login") #url_for的作用是根據(jù)視圖函數(shù)的名稱來自動(dòng)生成對(duì)應(yīng)的url地址return redirect(url)@app.route("/login") def login():return "請登錄"if __name__ == '__main__':app.run()

進(jìn)行頁面跳轉(zhuǎn)的編寫時(shí),一般不要固定跳轉(zhuǎn)的 url 地址,而是采用 url_for 函數(shù)來生成對(duì)應(yīng)的 url 地址。因?yàn)橛行┕緯?huì)定期更改一下 url ,但是視圖函數(shù)的名字一直都是固定的。

拓展:

3xx統(tǒng)一都是表示頁面重定向。

301 永久重定向

302 臨時(shí)重定向

轉(zhuǎn)載于:https://www.cnblogs.com/chichung/p/9761610.html

總結(jié)

以上是生活随笔為你收集整理的flask框架基本使用(2)(响应与重定向)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。