Flask入門的第一個項目進階版

前言:

這次版本增長【一對多】數據庫關係和動態路由設置。git


1、數據庫設計

environments表與variable1表的關係爲:一對多。variable1.env_id設置爲外鍵,與environments表創建關係。github

 
 
 

2、創建數據庫模型

以下圖所示,Variable模型中的env_id列被定義爲外鍵,就是這個外鍵創建起了關係。傳給db.ForeignKey()的參數'environments.id'代表,這列的值是environments表中行的id值。 數據庫


3、多表查詢 

一、查找environments表中的id爲1,對應的全部Variable數據app

Variable.query.filter_by(env_id=1).join(Environments, Variable.env_id == Environments.id)數據庫設計

二、查找environments表中的id爲1,對應的一條Variable.id 爲2的Variable數據函數

Variable.query.filter_by(env_id=1,id=2).join(Environments,Variable.env_id == Environments.id).first_or_404()url


4、匹配動態url

在Flask中,能夠將URL中的可變部分使用一對小括號<>聲明爲變量, 併爲視圖函數聲明同名的參數:設計

@app.route('/delete/<int:id>')orm

@app.route('/change/<int:env_id>/<int:id>',methods=['GET','POST'])blog

endpoint的映射包含變量: 

redirect(url_for('show_variable_list',_external=True,env_id=env_id))


5、開源代碼

https://github.com/wangxiaoxi3/Flask_test_1


以上,但願能對你有所幫助~~歡迎交流,共同進步~~

相關文章
相關標籤/搜索