在python中如何处理空的无线电输入

2024-10-05 15:28:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个if语句来处理用户没有选择任何无线电选项的情况。如果他们没有选择单选选项,它只会打印出一条错误消息。但是,每次我没有选择一个选项时,它都会告诉我:

werkzeug.exceptions.HTTPException.wrap.<locals>.newcls: 400 Bad Request: KeyError: 'mysearch'


HTML格式:

<form class="anotherform" method="POST">
    <div class="myform">
        <input type="text" placeholder="Enter your text or leave empty" name="search_term">
    </div>

    <input type="radio" name="mysearch" value="option1">Option 1<br>
    <input type="radio" name="mysearch" value="option2">Option 2<br>
    <input type="radio" name="mysearch" value="option3">Option 3<br>
    <input type="radio" name="mysearch" value="option4">Option 4<br>

    <button class="button" type="submit">Search</button>
</form>

{{error_msg}}

你知道吗路线.py你知道吗

@app.route('/search', methods=['POST', 'GET'])
def search():

    if request.method == 'POST':
        search_filter = request.form["mysearch"]
        search_term = request.form["search_term"]

        if search_filter == "":
            error_msg = 'You didnt select an option'
            return render_template('/search.html', error_msg=error_msg)

    return render_template('/search.html')

Tags: namebrforminputsearchifvaluetype
1条回答
网友
1楼 · 发布于 2024-10-05 15:28:28

如果我没弄错的话,request.form是一个Multidict类型,它就像一个Python字典。你知道吗

因此,如果不确定键是否存在,则可以从字典中获取默认值,并避免在应用程序中抛出如下错误:

search_filter = request.form.get("mysearch", "")
search_term = request.form.get("search_term", "")

然后检查search_filter是否为空或有值。你知道吗

相关问题 更多 >