flask html下拉列表,用Flask框架作两个关联式的下拉式选单,抓取资料库资料

先前做好一个下拉式选单连结数据库,但是如果要作成双关联下拉式,选取好之后按钮,再从数据库抓取数据,却一直没办法,数据库如下:

ID

Model_Name

value_without

time

0050

Multiple Regression

0.5781

13.03

0050

Logistic Regression

0.587

10.93

0051

Multiple Regression

0.5158

10.98

0051

Logistic Regression

0.572

10.16

0052

Multiple Regression

0.5734

14.67

0052

Logistic Regression

0.5396

12.42

当前写好的Python:

class ETL(db.Model):

tablename = 'etl1'

ID = db.Column(db.Float)

Model_Name = db.Column(db.String(255))

value_without = db.Column(db.Float)

time = db.Column(db.Float)

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

def index():

etl1s = ETL.query.all()

if 'eid' in request.form:

eid = request.form.get('eid' ,type=float)

step1 = ETL.query.get(eid)

return render_template("index.html", etl1s=etl1s, step1=step1)

return render_template("index.html", etl1s=etl1s)

HTML:

ETL_SQL

0050

0051

0052

{% if step1 %}

ID:{{step1.ID}}
Model Name:{{step1.Model_Name}}
Value Without:{{step1.value_without}}
Time:{{step1.time}}

{% endif %}

现在问题想要作成两个关联式下拉式选单,也就是在网页中让使用者下拉式选择栏位ID,再选择Model_Name,然后按按钮做确认,从数据库抓取所选择的ID、Model_Name、value_without及time栏位资料,那么在Python及HTML及要多加那些语法,恳请前辈们解法,谢谢。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Flask-SQLAlchemy 和 WTForms 来实现多个下查询。 首先,定义一个模型类来表示你的数据表,这里我们以一个简的例子为例: ```python from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class Fruit(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) color = db.Column(db.String(50)) ``` 然后,定义一个表类(使用 WTForms),并且添加多个查询下列表: ```python from wtforms import Form, SelectField from .models import Fruit class SearchForm(Form): fruits = SelectField('Fruits', choices=[(str(fruit.id), fruit.name) for fruit in Fruit.query.all()]) colors = SelectField('Colors', choices=[('red', 'Red'), ('green', 'Green'), ('yellow', 'Yellow')]) ``` 最后,在你的视图函数中,处理表提交数据并根据数据查询数据库: ```python from flask import render_template, request from .models import Fruit from .forms import SearchForm @app.route('/', methods=['GET', 'POST']) def index(): form = SearchForm() if form.validate_on_submit(): fruit_id = form.fruits.data color = form.colors.data fruits = Fruit.query.filter_by(id=fruit_id, color=color).all() else: fruits = Fruit.query.all() return render_template('index.html', form=form, fruits=fruits) ``` 在 HTML 模板文件中,你可以使用表类中定义的下列表并且渲染查询结果: ```html <form method="POST"> {{ form.fruits }} {{ form.colors }} <button type="submit">Search</button> </form> <ul> {% for fruit in fruits %} <li>{{ fruit.name }} - {{ fruit.color }}</li> {% endfor %} </ul> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值