使用烧瓶从选择标签中获取价值

编程入门 行业动态 更新时间:2024-10-25 08:27:43
本文介绍了使用烧瓶从选择标签中获取价值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我是 Flask 的新手,无法从我的 select 标签中获取值.我试过 request.form['comp_select'] 它返回一个错误的请求.但是,当我尝试使用 request.form.get('comp_select') 时,我的返回页返回一个空白列表[]".

我的 html:

<div class="form-group"><div class="input-group"><span class="input-group-addon">请选择</span><select name="comp_select" class="selectpicker form-control">{% for o in data %}<option value="{{ o.name }}">{{ o.name }}</option>{% 结束为 %}</选择>

<button type="submit" class="btn btn-default">Go</button>

</表单>

我的 app.py:

@app.route("/test" , methods=['GET', 'POST'])定义测试():select = request.form.get('comp_select')return(str(select)) # 只是为了看看 select 是什么

如果我的帖子格式不正确(也是 Stack Overflow 的新手),请提前抱歉.

解决方案

从您提供的内容中很难确定,但我相信您需要将 method="POST" 添加到你的 元素.

来自 request 对象的烧瓶文档:

要访问表单数据(在 POST 或 PUT 请求中传输的数据),您可以使用 form 属性.... 要访问 URL 中提交的参数 (?key=value),您可以使用 args 属性.

因此,如果您通过 POST 提交表单,请使用 request.form.get().如果您通过 GET 提交表单,请使用 request.args.get().

此应用的行为符合您的要求:

flask_app.py:

#!/usr/bin/env python从烧瓶导入烧瓶,闪光,重定向,render_template,请求,url_forapp = Flask(__name__)@app.route('/')定义索引():返回渲染模板('index.html',data=[{'name':'red'}, {'name':'green'}, {'name':'blue'}])@app.route("/test" , methods=['GET', 'POST'])定义测试():select = request.form.get('comp_select')return(str(select)) # 只是为了看看 select 是什么如果 __name__=='__main__':应用程序运行(调试=真)

模板/index.html

<div class="form-group"><div class="input-group"><span class="input-group-addon">请选择</span><select name="comp_select" class="selectpicker form-control">{% for o in data %}<option value="{{ o.name }}">{{ o.name }}</option>{% 结束为 %}</选择>

<button type="submit" class="btn btn-default">Go</button>

</表单>

I'm new to Flask and I'm having trouble getting the value from my select tag. I have tried request.form['comp_select'] which returns a Bad Request. However, when I try using request.form.get('comp_select'), my return page returns a blank list "[]".

My html:

<form class="form-inline" action="{{ url_for('test') }}"> <div class="form-group"> <div class="input-group"> <span class="input-group-addon">Please select</span> <select name="comp_select" class="selectpicker form-control"> {% for o in data %} <option value="{{ o.name }}">{{ o.name }}</option> {% endfor %} </select> </div> <button type="submit" class="btn btn-default">Go</button> </div> </form>

My app.py:

@app.route("/test" , methods=['GET', 'POST']) def test(): select = request.form.get('comp_select') return(str(select)) # just to see what select is

Sorry in advance if my formatting is off for the post (also new to Stack Overflow).

解决方案

It's hard to know for certain from what you've provided, but I believe you need to add method="POST" to your <form> element.

From the flask doc for the request object:

To access form data (data transmitted in a POST or PUT request) you can use the form attribute. ... To access parameters submitted in the URL (?key=value) you can use the args attribute.

So, if you submit your forms via POST, use request.form.get(). If you submit your forms via GET, use request.args.get().

This app behaves the way you want it to:

flask_app.py:

#!/usr/bin/env python from flask import Flask, flash, redirect, render_template, request, url_for app = Flask(__name__) @app.route('/') def index(): return render_template( 'index.html', data=[{'name':'red'}, {'name':'green'}, {'name':'blue'}]) @app.route("/test" , methods=['GET', 'POST']) def test(): select = request.form.get('comp_select') return(str(select)) # just to see what select is if __name__=='__main__': app.run(debug=True)

templates/index.html

<form class="form-inline" method="POST" action="{{ url_for('test') }}"> <div class="form-group"> <div class="input-group"> <span class="input-group-addon">Please select</span> <select name="comp_select" class="selectpicker form-control"> {% for o in data %} <option value="{{ o.name }}">{{ o.name }}</option> {% endfor %} </select> </div> <button type="submit" class="btn btn-default">Go</button> </div> </form>

更多推荐

使用烧瓶从选择标签中获取价值

本文发布于:2023-10-19 18:10:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1508345.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:烧瓶   价值   标签

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!