實現(xiàn)自定義嵌套藍圖
解決Flask原生藍圖無法實現(xiàn)更小范圍的模塊化
方法圖解
創(chuàng)建一個文件,在其中自定義嵌套藍圖易桃,繼承于flask的原生Blueprint赏壹,主要實現(xiàn)在register_blueprint方法中
嵌套藍圖
然后在父模塊上使用嵌套藍圖百拓,記得也要把該藍圖在flask的app中注冊
在這里插入圖片描述
最后在子模塊下使用flask的原生藍圖亮瓷,并把它注冊在嵌套藍圖NestableBlueprint上
在這里插入圖片描述
這樣琴拧,url訪問的格式就是這樣:http://xxx.xxx.xxx:xxxx/api/v1/team/xxx
父藍圖的“/api/v1”和子藍圖的“/team”降瞳,都在1圖的重寫方法中實現(xiàn)了拼接
最后
我是應用在flask-restful框架中嘱支,而在api開發(fā)中也可以選擇flask-restplus蚓胸,也實現(xiàn)了更小的模塊化的功能namespace,自帶swagger除师,但我個人覺得有挺多坑的沛膳,折騰一段時間還是換回了flask-restful
該技巧出自于flask issue中關(guān)于嵌套藍圖的討論@teozkr ,感謝他的分享汛聚,
github討論地址:https://github.com/pallets/flask/issues/593