首页 > 解决方案 > 在 Flask 上检查对象中的元素

问题描述

有一个项目的下拉列表。如果send按下按钮,则处理对象的元素并得到一定的结果。我想检查对象是否为空,然后重定向到另一个页面?

编码:

html

<form action = "" method = "POST" enctype = "multipart / form-data">
    <select id = 'sel' name = 'sel' class = "selectpicker sel" multiple data-live-search = "true">
      {% for elem in elements%}
        <option id = "val" value = "{{elem}}"> {{elem}} </option>
      {% endfor%}
    </select>
    <button> Send </button>
</form>

python:

@ app.route ('/', methods = ['GET', 'POST'])
def index ():
if request.method == 'GET':
return render_template ('index.html', elements = elements) # get all the elements on the page
elif request.method == 'POST':
    docs = request.form.getlist ('sel') # here I get the items selected from the list
    result = handler.dosomething (docs) # handler function
return render_template ('handler.html', result = result)
else:
pass

例如,如何检查是否docs为空且此变量中没有选定元素,然后在按下按钮时重定向到另一个页面error.html

标签: pythonhtmlflask

解决方案


您可以再添加一个 if 语句。见下文:

@ app.route ('/', methods = ['GET', 'POST'])
def index ():
if request.method == 'GET':
return render_template ('index.html', elements = elements) # get all the elements on the page
elif request.method == 'POST':
    docs = request.form.getlist ('sel')
    if len(docs)>0:
        result = handler.dosomething (docs)
        return render_template('handler.html', result = result)
    else:
        return render_template('error.html')

推荐阅读