知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
Flask Web開發(fā)入門(九)之表單處理
發(fā)表時(shí)間:2018-1-10
發(fā)布人:葵宇科技
瀏覽次數(shù):46
本章我們介紹Flask Web開發(fā)中的表單處理
application/json類型請求
- 前臺(tái)請求代碼:
$.ajax({
url: '/add'
, type: 'POST'
, data: JSON.stringify(data.field)
, contentType: 'application/json'
, success: function (response) {
console.log(response);
if (response.code == 0) {
layer.msg('新增成功!');
} else {
layer.alert('新增失敗!')
}
}
})
后臺(tái)捕獲請求,request.data存儲(chǔ)了我們的請求數(shù)據(jù)
后臺(tái)出處理代碼,其中參數(shù)d為dict類型數(shù)據(jù)request.data
def add_monitor(d):
logger.debug('add monitor is %s' % d)
d = json.loads(d)
conn = monitor_db.get_connection_with_url(url)
# Content-Type: application/json
conn.execute(T_Monitor.insert(), [{
'credit_type': d['credit_type']
, 'query_type': d['query_type']
, 'credit_status': d['credit_status']
, 'elapsed_time': int(random.random() * 100)
}])
application/x-www-form-urlencoded類型請求
- 我們稍微修改下前臺(tái)發(fā)送代碼,不指定contentType參數(shù):即指定請求內(nèi)容格式。注意:雖然我們的請求數(shù)據(jù)是JSON字串,但Ajax中沒有指定contentType參數(shù),那么數(shù)據(jù)請求格式仍舊為application/x-www-form-urlencoded
$.ajax({
url: '/add'
, type: 'POST'
, data: JSON.stringify(data.field)
, success: function (response) {
console.log(response);
if (response.code == 0) {
layer.msg('新增成功!');
} else {
layer.alert('新增失敗!')
}
}
})
通過后臺(tái)代碼調(diào)式,我們可以看到request.form存儲(chǔ)了前臺(tái)的請求數(shù)據(jù)如下:
注意上圖紅框部分:
request.form是一個(gè)ImmutableMultiDict類型的對象
request.form的鍵值key存儲(chǔ)了請求數(shù)據(jù)的JSON字串
request.form的長度為1
因此,通過上面的代碼分析,我們定義Flask表單處理后臺(tái)代碼實(shí)現(xiàn)如下,其中參數(shù)d是一個(gè)ImmutableMultiDict類型對象:
# add monitor
def add_monitor(d):
logger.debug('add monitor is %s' % d)
conn = monitor_db.get_connection_with_url(url)
for key in d.keys():
logger.debug("form data is %s" % json.loads(key))
d_dict = json.loads(key)
conn.execute(T_Monitor.insert(), [{
'credit_type': d_dict['credit_type']
, 'query_type': d_dict['query_type']
, 'credit_status': d_dict['credit_status']
, 'elapsed_time': int(random.random() * 100)
}])
實(shí)現(xiàn)效果
源碼參考:https://github.com/ypmc/flask-sqlalchemy-web
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)絡(luò)營銷
- 模版消息
- 公眾號模板消息
- 前端開發(fā)
- 安家微信小程序
- 汽車報(bào)廢管理
- 網(wǎng)站制作哪家好
- 云南網(wǎng)站建設(shè)公司
- 云南小程序被騙
- 微分銷
- 云南小程序定制
- 云南網(wǎng)站建設(shè)開發(fā)
- 搜索引擎排名
- 網(wǎng)站建設(shè)方法
- 微信小程序
- 云南網(wǎng)站建設(shè)方法
- 迪慶小程序開發(fā)
- 退款
- 云南微信小程序開發(fā)
- 昆明小程序開發(fā)聯(lián)系方式
- 小程序開發(fā)
- 網(wǎng)站維護(hù)
- 汽車報(bào)廢
- 搜索引擎自然排名
- 網(wǎng)站開發(fā)
- 微信分銷系統(tǒng)
- 云南小程序開發(fā)推薦
- 文山小程序開發(fā)
- 網(wǎng)站建設(shè)首選公司
- 云南百度小程序