我有一个mysql表,在html页面中有一个下拉列表。我想根据从下拉菜单中选择的值(现代、Maruthi、丰田、福特)打印Myqsl表中的选定行
我的脚本home.py为:
class Table(db.Model):
name=db.Column(db.String,primary_key=True)
color= db.Column(db.String(100))
Engine=db.Column(db.String(200))
Adress=db.Column(db.String(200))
Car_type=db.Column(db.String(200))
@app.route('/Home', methods=["GET", "POST"])
def Home():
cars = ['Hyundai', 'Maruthi', 'Toyota', 'Ford']
if request.method=='POST':
manus=request.form
return redirect(url_for("newpage.html", classi=manus))
return render_template("Home.html", cars=cars)#
@app.route('/newpage/<classi>' )
def user(classi):
datas=Table.query.filter_by(Table.Car_type == classi).all()
return render_template("newpage.html", datas=datas)
我的主页为:
<form method="POST " action="/newpage">
<select name="Cartypes" </p>
<option value="{{cars[0]}}" selected>{{cars[0]}}</option>
{% for t in cars[1:] %}
<option value="{{t}}">{{t}}</option>
{% endfor %}
</select>
我的newpage.html如下所示:
{% for row in datas %}
<tr>
<td>{{ row.name }}</td>
<td>{{ row.color }}</td>
<td>{{ row.Engine }}</td>
<td>{{ row.Adress }}</td>
<td>{{ row.Car_type }}</td>
</tr>
{% endfor %}
我得到以下错误: 未找到 在服务器上找不到请求的URL。如果手动输入URL,请检查拼写并重试。
更好的方法是在表单请求中实现GET方法
接下来的事情是,如果没有提交类型的按钮,表单将不会自动提交。为了做到这一点,您可以借助javascript
在你的烧瓶应用程序中:
在your home.html中
更改下拉列表后,它会向flask服务器发送一个请求,请求如下:
http://localhost/newpage/?Cartypes=type_here
flask服务器搜索Cartypes参数,查询它并将查询集返回到html
相关问题 更多 >
编程相关推荐