将HTML单选按钮选项附加到PythonFlaskURL

2024-10-01 19:30:30 发布

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

我到处找过,但似乎找不到答案。我有一个html表单,里面有单选按钮选项。当结果根据用户在html页面上的输入发布时,我试图将它们附加到flaskurl中。在

这是我的html页面:

<form class="form-search" id="formdata" action="{{url_for('users')}}" method="post">
    <label><font size="4">Select option:</font></label>
    <div class="labeltext btn-group" data-toggle="buttons">
       <label class="btn btn-primary active">
          <input type="radio" name="radioOptions" id="option1" value="Option1" checked> Option1 </label>
       <label class="btn btn-primary">
          <input type="radio" name="radioOptions" id="Option2" value="Option2"> Option2 </label>
    </div>
</form>

我的烧瓶视图:

^{pr2}$

我的结局是错误的

TypeError: users() takes exactly 1 argument (0 given)

不确定我这边出了什么问题。我正在尝试将我的url设置为如下所示:

在本地主机:8080/用户?radioOptions=选项1


Tags: 用户divformidurlhtml选项页面
1条回答
网友
1楼 · 发布于 2024-10-01 19:30:30
TypeError: users() takes exactly 1 argument (0 given)

上面的错误解释了这一切。在以下代码中:

^{pr2}$

提交收音机时重定向到users选项。Theusers需要一个尚未提供的参数,即它是可更改的,这就是为什么会出现此错误。另外,您也没有使用从此行检索到的radioOptions值

^{3}$

正确而简洁的方法是定义另一个呈现模板的函数,然后在重定向调用中调用它,如下所示:

@app.route('/users', methods=['GET', 'POST'])
def users():
    if request.method == 'POST':
      selectOption = request.form['radioOptions']
     return redirect (url_for('call_selected', selectOption=selectOption))
    return render_template('users.html')


@app.route('/<selectOption>', methods=['GET', 'POST'])
def call_selected(selectOption):
    return render_template(selectOption)

相关问题 更多 >

    热门问题