1. 程式人生 > >flask在同一個頁面提交多個form請求

flask在同一個頁面提交多個form請求

資源 兩個 eve end 多個 ssi print 後臺管理頁面 title

1.首先,在寫網站的後臺管理頁面的時候,發現,我要在同一個頁面上提交兩個表單,或者是可以單一的的提交其中一個,其中一個表單可以沒有數據也可以有數據,即兩者之間的提交是沒有什麽鳥關系的。

隨手寫的表單

    <p>活動</p>
    <form method="post" action="/admin_event/" name="event">
        標題
        <input name="event_title" value="" type="text">
        內容
        <input name="event_content"
value="" type="text"> 開始時間 <input name="start_time" value="" type="datetime"> 結束時間 <input name="end_time" value="" type="datetime"> <button type="submit" value="">提交</button> </form> <p>資源</p> <form method="post"
action="/admin_resource/" name="resource"> 資源標題 <input name="resource_title" value="" type="text"> 資源描述 <input name="description" value="" type="text"> 下載鏈接 <input name="download_url" value="" type="text"> <button type="submit"
>提交</button> </form>

這裏的重點是form標簽裏一定要填寫action屬性和name屬性。

@app.route(/admin_event/,methods=[GET,POST])
def admin_event():
    if request.method==GET:
        return render_template(admin.html)
    else:
        event_title = request.form.get(event_title)
        event_content = request.form.get(event_content)
        start_time = request.form.get(start_time)
        end_time = request.form.get(end_time)
        print(event_title)
        event = Event(title=event_title, content=event_content, start_time=start_time, end_time=end_time)
        db.session.add(event)
        db.session.commit()
        return render_template(admin.html)


@app.route(/admin_resource/,methods=[GET,POST])
def admin_resource():
   if request.method==GET:
       return render_template(admin.html)
   else:
       resource_title = request.form.get(resource_title)

       description = request.form.get(description)
       download_url = request.form.get(download_url)
       resources = Resource(title=resource_title, content=description, download_url=download_url)
       db.session.add(resources)
       db.session.commit()
       return render_template(admin.html)

通過所提交 的地址不同,去向不同的視圖函數

學習筆記

flask在同一個頁面提交多個form請求