Flask框架中疑難/易混淆/知識要點總結

Flask要點

一、藍圖

1.在modules目錄下創建功能模塊目錄(如:home、passport、user)。

2.在功能模塊目錄下再創建_init_.py 、views.py

3.在功能模塊目錄下的init.py中創建藍圖對象,並讓視圖函數和程序建立關聯,代碼如下:(以user模塊爲例)

在這裏插入圖片描述

4.在info目錄下init.py,註冊藍圖對象
在這裏插入圖片描述
5.在功能模塊目錄下views.py下導入藍圖,創建路由

在這裏插入圖片描述

二、POST、GET

1.傳輸敏感信息用POST

json
form 文件

2.讀取頁面一般用GET

args
動態URL

三、報錯

異常捕獲 @app.errorhandler(錯誤代碼)

如果是後端渲染 一般用abort()報錯 最後顯示並提供數據 return render_template("",data=data)

如果是前端渲染 一般用錯誤碼報錯 最後返回的是json數據 return jsonify(errno=RET.PARAMERR, errmsg=error_map[RET.PARAMERR])

current_app.logger.error(e) 是用於記錄錯誤日誌,配合try except 使用

`try:
     img_bytes = avatar_file.read()
 except BaseException as e:
     current_app.logger.error(e)

`

四、開發流程

1.需求分析
2.構建表結構
3.接口文檔
4.前後端同步開發
5.後端POSTMAN測試
6.前端開發完,如果前端渲染,顯示頁面 send_static_file,提供數據 json返回
如果後端渲染 顯示並提供數據 render_template()

五、接口設計

數據庫行爲
增刪改查
關係建立/解除
渲染方式
需要SEO→後端渲染→rende_tempalte()
需要局部刷新→前端→json返回
請求方式
GET→args/動態URL
POST→json/form 文件
響應形式html/json

六、SQLAlchemy

ORM
原生代碼操作數據庫
類->表 屬性->字段 對象->記錄
配置 創建連接對象 db = SQLAlchemy(app)
基本操作
class User(db.Model)
db.session.add() add_all()
db.session.commit()
db.sesioon.delete()
在這裏插入圖片描述
在這裏插入圖片描述

七、用代碼生成管理員賬號

flask-script可以將函數設置爲自定義的命令

格式如下:

# 可以將有參函數設置爲命令 python main.py create_superuser -u admin -p 123456
@mgr.option("-u",dest="username")  
@mgr.option("-p",dest="password") # 一行只能寫一個參數
# 可以將無參函數設置爲命令  python main.py demo1
@mgr.command 

演示代碼:

mgr = Manager(app)

在創建管理器後使用

在這裏插入圖片描述

八、裝飾器封裝數據查詢

在common.py中定義要封裝的函數

在模塊文件中調用

程序會先執行封裝的函數,再執行原函數,用f(*args,**kwargs)不定長參數傳參沒有傳參數的話不會報錯,建議使用!

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章