python - 如何通过将可选参数添加到网站的链接以将其转换为 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**
有什么建议吗?只为我的英语不好感到抱歉。谢谢
解决方案
如果我理解正确,您希望在请求中使用可选的 url 参数。这样就可以通过以下方式创建 url。
http://127.0.0.1:8000/link?param0=value0¶m1=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")
享受实施您的项目的乐趣。
推荐阅读
- bazel - 使用 bazel genrule 添加外部依赖项失败并出现错误“没有输出的 Genrules 没有意义”
- ios - 原生到 React Native 调用
- spring-boot - 在 EC2 上启用 SSL 是否必须使用 Amazon Route 54?
- python - 从熊猫的字符串日期时间列中提取日期
- flutter - 在颤动中调整容器大小以精确到屏幕大小的一半
- javascript - 重置用于打印的 javascript 结果
- javascript - Visjs/React:动态构建数据集
- java - 错误:java:错误:无效的源版本:13 使用 JDK12 和 IntelliJ
- php - 我的代码出现数据库有什么问题?
- swift - MKPointAnnotation 到 MKMapItem