Python FLASK學習筆記
阿新 • • 發佈:2020-12-18
技術標籤:Python
1、在使用 Flask 給客戶端返回 JSON 資料時,可以直接使用jsonify生成一個 JSON 的響應;
@app.route('/demo')
def demo():
json_dict = {
"user_id": 10,
"user_name": "laowang"
}
return jsonify(json_dict)
注:不推薦使用 json.dumps 轉成 JSON 字串直接返回,因為返回的資料要符合 HTTP 協議規範,如果是 JSON 需要指定 content-type:application/json
2、重定向
- 直接填寫自己 url 路徑
- 使用 url_for 生成指定檢視函式所對應的 url
@app.route('/demo1')
def demo1():
return 'demo1'
# 重定向,採用url_for生成demo1對應的url
@app.route('/demo2')
def demo2():
return redirect(url_for('demo1'))
3、flask上下文引數
(1)請求上下文(request context)
請求上下文物件有:request、session
-
- request
- 封裝了HTTP請求的內容,針對的是http請求。舉例:user = request.args.get('user'),獲取的是get請求的引數。
- session
- 用來記錄請求會話中的資訊,針對的是使用者資訊。舉例:session['name'] = user.id,可以記錄使用者資訊。還可以通過session.get('name')獲取使用者資訊。
- request
- 請求上下文:儲存了客戶端和伺服器互動的資料
- 應用上下文:flask 應用程式執行過程中,儲存的一些配置資訊,比如程式名、資料庫連線、應用資訊等
Cookie使用
Cookie:指某些網站為了辨別使用者身份、進行會話跟蹤而儲存在使用者本地的資料(通常經過加密)。
- 複數形式Cookies。
- Cookie是由伺服器端生成,傳送給客戶端瀏覽器,瀏覽器會將Cookie的key/value儲存,下次請求同一網站時就傳送該Cookie給伺服器(前提是瀏覽器設定為啟用cookie)。
- Cookie的key/value可以由伺服器端自己定義。
4、資料庫操作
SQLAlchemy是python中最著名的ORM(Object Relationship Mapping)框架: