您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)使用flask實(shí)現(xiàn)表單提交的方式有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
一.通用方式
通用方式就是使用ajax或者$.post來(lái)提交。
前端html
<form method="post" action="/mockservice" method = "post"> ... <div class="form-group"> <label>data <font size="2"> <input class="form-control" id="data" name="data"> </div> <div class="form-group"> <button id="start" type="submit" class="btn btn-default">Submit  </button> </div> </form>
將操作綁定
$(document).ready(function() { MockTask.start(); }); MockTask ={ startId: "start_mock", start: function(){ $('#'+this.startId).click(function (){ ...var data = $('#data').val(); var form_data = JSON.stringify({ ..."data": data }); MockSubmit.createTask(form_data); }); }, }; MockSubmit = { createTask: function(data){ var url = "/mockservice"; $.post(url,data,function(result){ if (result.code != 'SUCC'){ alert("failed to create a new api.") } else { alert("succ"); } }); } }; function isEmptyString(info) { if (info == null || info == undefined || info.length == 0){ return true; } return false }
這樣通過(guò)js來(lái)實(shí)現(xiàn)提交表單的功能,然后flask后端
@app.route("/mockservice",methods=['GET','POST']) def MockController(): form = MockCreate() if request.method == 'POST': code = request.form['code'] api = request.form['api'] return ...
通用方式的好處就是在其他框架中也適用。而且也并不復(fù)雜。
二.比較正宗的flask方式
前端html:
<form method="post" action="/mockservice" method = "post"> ... <div class="form-group"> <label>data <font size="2"> <input class="form-control" id="data" name="data"> </div> <div class="form-group"> <button type="submit" class="btn btn-default">Submit  </button> </div> </form>
前端這時(shí)候可以不用綁定操作了,但需要新建一個(gè)form對(duì)象,用這種方式的好處就是flask有很多內(nèi)置的方式幫你校驗(yàn)?zāi)愕奶峤?,一個(gè)字:省事!
class MockCreate(Form): user_email = StringField("email address",[validators.Email()]) api = StringField("api",[Required()]) submit = SubmitField("Submit") code = IntegerField("code example: 200",[Required()]) alias = StringField("alias for api") data = TextAreaField("json format",[Required()])
后端這時(shí)候就要變成:
@app.route("/mockservice",methods=['GET','POST']) def MockController(): form = MockCreate() code = form['code'] api = form['api'] return render_template("testf.html",api=api,data=code)
看完上述內(nèi)容,你們對(duì)使用flask實(shí)現(xiàn)表單提交的方式有哪些有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。