2015-12-02 2 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 Мне просто нужно, чтобы переместить, если заявление в верхней части функции и использовать request.forms.get, чтобы определить, какая форма делает запись

Смежные вопросы