2015-12-02 20 views
1

我有兩種需要在同一條路徑上「發佈」的表單。用單瓶路線處理多個帖子

  1. 是「搜索」,這是對應用程序跨所有路線的基本模板和
  2. 這是「提交」,是具體到一個途徑,併爲孩子模板的一部分的一部分。

我怎麼能區分兩個「發佈」?

在瓶中,我試圖通過使用窗體的「名稱」來挑選「POST」請求 - 代碼應該是什麼樣子?

瓶:

@route('/pending', method=['GET', 'POST']) 
def pending(): 
session = db_session 
if (request.POST.get('name') == 'search_request'): 
    return "search" 
if (request.POST.get('name') == 'submit_asset'): 
    return "submit" 
    session = db_session 
    format_id = request.forms.get('submit_asset') 
    print format_id 
    result_format_metadata = session.query(FormatMetadata).filter(FormatMetadata.id==format_id).first() 
    result_format_metadata.id = format_id 
    result_format_metadata.stateid = 4 
    session.commit() 
    redirect("/pending") 

下面是從基礎模板的形式,其爲導航欄上的搜索功能,是所有路線:

 <form class="navbar-form navbar-left" role="search" method="post" > 
    <div class="form-group"> 
     <input name="search_request" type="text" class="form-control" placeholder="Search" > 
    </div> 
    </form> 

,這裏是提交表單這是特定於/待定路線:

<form action="/pending" method="post"><button name="submit_asset" value="{{row.format_id}}"/>Submit</form> 

回答

0

Ok s Ø我發現:

@route('/pending', method=['GET', 'POST']) 
def musicvideopending(): 
session = db_session 
if request.forms.get('search_request'): 
    print "search" 
elif request.forms.get('submit_asset'): 
    print "submit" 
    format_id = request.forms.get('submit_asset') 
    print format_id 
    result_format_metadata = session.query(FormatMetadata).filter(FormatMetadata.id==format_id).first() 
    result_format_metadata.id = format_id 
    result_format_metadata.stateid = 4 
    session.commit() 
    redirect("/pending") 
else: 
    print "nothing" 
    date = "2015-11-19 23:14:06" 
    result_video = session.query(FormatMetadata).filter(FormatMetadata.id).all() 
    result_videoID = FormatMetadata.id 
    result_pending = session.query(Metadata).filter(Metadata.format_id==result_videoID).filter(FormatMetadata.stateid==1).all() 
    result_md_done = session.query(Metadata).filter(Metadata.format_id==result_videoID).filter(FormatMetadata.stateid==3).all() 
    result_date_24h = session.query(Metadata).filter(Metadata.format_id==result_videoID).filter(FormatMetadata.created_date).all() 
    output = template("pending", rows_pending=result_pending, rows_md_done=result_md_done, rows_per_24=result_date_24h, start_date=date, end_date=date) 
    return output 

Basicall我只是需要if語句移到函數的頂部,並使用request.forms.get確定哪些格式做後