1. 程式人生 > 實用技巧 >Flask 之 Response

Flask 之 Response

from flask import Flask, Response, render_template, make_response, jsonify, request

from datetime import datetime, timedelta
import json

'''
Http  協議有請求和應答的過程, 伺服器返回資料封裝在應答物件中,HTTP 協議包含了返回給客戶端的字串,狀態碼(預設是200)
後續前後端分離 也有可能會和前段互動返回統一的json的格式。
後續會說到 下面會有一個小例子 jsonify

'''
app = Flask(__name__)
# http://127.0.0.1:5000
@app.route('/') def index(): user = { "name":"tom", "age" : 18, 'sex' : True } return Response(json.dumps(user), 200) ''' 上下倆種寫法都是一樣的json dumps 就是將你的資料轉換成json格式返回 json.dumps 把字典轉成json字串 返回Response 有很多的優點,可以設定答應狀態碼。 設定cookie。設定應答頭資訊 ''' # http://127.0.0.1:5000/index2/
@app.route('/index2/') def index2(): user = { "name":"tom", "age" : 18, 'sex' : True } response = make_response(json.dumps(user), 200) # Content-Type 指定內容型別 response.headers['Content-Type'] = 'text/html' return response # http://127.0.0.1:5000/index3/ @app.route('
/index3/') def index3(): user = { "name":"tom", "age" : 18, 'sex' : True } return jsonify(user) # response 渲染魔板 @app.route('/index4/') def index4(): response = make_response(render_template('login.html')) return response ''' Cookie 介紹,Cookie 是儲存在客戶端上面的 , 說白了就是儲存在對應的瀏覽器上面的, 比如谷歌 火狐 每個對應的瀏覽器Cookie 是不同, Cookie 目的就是記住和跟蹤與客戶相關的資料, 比如淘寶的最近瀏覽。。 ''' ''' Cookie 通過response 物件set_cookie函式來設定的 cookie 預設過期時間 每次關閉瀏覽器就會清除cookie了 cookie 是可以設定過期時間的 ''' ''' 獲取cookie 是通過request 物件來獲取的 例如 request.cookies.get('xxx') ''' #http://127.0.0.1:5000/set_cookie/ @app.route('/set_cookie/') def cookie(): response = make_response('這是一個response響應 響應請求cookie') # 設定過期時間 timeout = datetime.today() + timedelta(days=3) # 設定cookie 是以鍵值對的形象來寫的 expires 過期時間 response.set_cookie('uid', 'xiaomo', expires=timeout) return response @app.route('/get_cookie/') def getcookie(): name = request.cookies.get('uid') print(name) return Response(name) if __name__ == '__main__': app.run(debug=True)

index 返回的格式

index 3 返回格式