首页 > 解决方案 > 如何通过将可选参数添加到网站的链接以将其转换为 API(烧瓶)来将值传递给 html 输入

问题描述

我是烧瓶的新手,我想知道如何通过在链接中添加可选参数来将值传递给 HTML

示例 HTML:

<HTML>
   <body>
       <form method=post enctype=multipart/form-data>
           <input type=text name=link>
           <input type=submit value=Open>
       </form>
   </body>
</HTML>

我用来调用上面的 HTML 的代码:

@app.route('/link', methods=['GET', 'POST'])
def open_link():
   if request.method == "POST":
      if 'link' != '':
         text = request.form['link']

         webbrowser.open(text)

return render_template("get_link.html")

现在,我想在链接中添加一个参数以自动将输入的值传递进去,这样我就可以将它变成一个 API

例子

http://192.168.5.107:8000/link/**add_para_here = hi**

有什么建议吗?只为我的英语不好感到抱歉。谢谢

标签: pythonhtmlflask

解决方案


如果我理解正确,您希望在请求中使用可选的 url 参数。这样就可以通过以下方式创建 url。

http://127.0.0.1:8000/link?param0=value0&param1=1

在这种情况下,表单将如下所示。

<form action="{{ url_for('link', param0='value1', param1=1) }}" method="post">
  <input type="text" name="link">
  <input type="submit" value="Open">
</form>

在端点内,可以通过 查询参数request.args。也可以在此处指定默认值和可选的类型转换。

@app.route('/link', methods=['GET', 'POST'])
def open_link():
    param0 = request.args.get('param0')
    param1 = request.args.get('param1', 0, type=int)
    if request.method == "POST":
        if 'link' != '':
            text = request.form['link']
            # ...
    return render_template("get_link.html")

享受实施您的项目的乐趣。


推荐阅读