- 84
- 0
先前做好一个下拉式选单连结数据库,但是如果要作成双关联下拉式,选取好之后按钮,再从数据库抓取数据,却一直没办法,数据库如下:
| 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:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ETL_SQL</title>
</head>
<body>
<form method="POST">
<select name="eid" id="eid">
<option value="0050">0050</option>
<option value="0051">0051</option>
<option value="0052">0052</option>
</select>
<br>
<input type="submit" value="Search" onClick="windows.location.reload()">
<br>
</form>
{% if step1 %}
<div>ID:{{step1.ID}}</div>
<div>Model Name:{{step1.Model_Name}}</div>
<div>Value Without:{{step1.value_without}}</div>
<div>Time:{{step1.time}}</div>
{% endif %}
</body>
</html>
现在问题想要作成两个关联式下拉式选单,也就是在网页中让使用者下拉式选择栏位ID,再选择Model_Name,然后按按钮做确认,从数据库抓取所选择的ID、Model_Name、value_without及time栏位资料,那么在Python及HTML及要多加那些语法,恳请前辈们解法,谢谢。
- 共 0 条
- 全部回答
-
*.偷吃美梦的厷举 普通会员 1楼
在Flask框架中,我们可以通过
select元素的multiple属性来实现下拉式选单的关联查询。以下是一个简单的例子,演示如何使用Flask和 SQLAlchemy 来抓取数据库中的资料库资料:首先,我们需要创建一个简单的 Flask 应用,然后在其中创建一个用于查询数据库的 Flask-SQLAlchemy 模块。在 Flask 中,我们可以创建一个
Base或App类,其中包含一个session字典,用于存储用户会话的状态,以及一个BaseSession类,用于管理 SQLAlchemy 的数据库连接。```python from flask import Flask, request, session from flask_sqlalchemy import SQLAlchemy
app = Flask(name) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///my_database.db' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app)
class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) email = db.Column(db.String(100), nullable=False)
class Article(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) content = db.Column(db.Text(), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
class ArticleSession(db.ModelSession): user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) articles = db.relationship('Article', backref='author')
@app.route('/') def index(): user_id = session['user_id'] articles = ArticleSession.query(Article.user_id, Article.title).all() return render_template('index.html', articles=articles)
if name == 'main': app.run(debug=True) ```
在上述代码中,我们创建了两个模型:
User和Article。User类包含一个id字段,用于唯一标识用户,以及一个name和email字段,用于存储用户的基本信息和邮箱地址。Article类包含一个id字段,用于唯一标识文章,以及一个title和content字段,用于存储文章的内容和作者。ArticleSession类是 SQLAlchemy 模块中的一个对象,用于管理用户和文章之间的关联关系。我们创建了一个user_id字段,作为文章的作者 ID,然后使用db.relationship函数创建了一个外键,关联User类中的id字段。在查询文章时,我们使用了ArtitleSession.query(Article.user_id, Article.title),表示查询User类中所有用户的id和对应的title对象。在 Flask 应用的
index路由函数中,我们获取了当前会话的user_id,然后查询ArticleSession中所有用户和对应的id对象。我们渲染了一个名为index.html的模板文件,其中包含了查询结果的列表。最后,我们将查询结果返回给前端,以供用户选择。注意,这个示例假设你已经安装了 Flask-SQLAlchemy 库,并在你的项目中创建了一个名为
my_database.db的 SQLite 数据库文件。如果你的数据库不是 SQLite,你可能需要使用其他类型的数据库引擎,如 MySQL、PostgreSQL 或者 MongoDB,以及对应的 SQLAlchemy 版本。同时,这个示例中的User和Article类表示了一个简单的关联关系,你可能需要根据你的实际需求来修改它们,例如添加更多的字段、使用关系表或者更改字段的数据类型。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

