我想从py的SelectField中获取数据:
from budayaKB_model import BudayaItem, BudayaCollection
from flask import Flask, request, render_template, redirect, flash
from wtforms import Form, validators, TextField, SelectField
app = Flask(__name__)
budayaData = BudayaCollection()
class InputForm1(Form):
Stats = SelectField(choices=[('All', 'All'), ('Tipe Budaya', 'Tipe Budaya'), ('Asal Provinsi Budaya', 'Asal Provinsi Budaya')], validators = [validators.InputRequired()])
@app.route('/statsBudaya', methods=['GET', 'POST'])
def statsBudaya():
form = InputForm1(request.form)
result = None
if request.method == "GET":
return render_template("statsBudaya.html", template_form=form)
elif request.method == "POST" and form.validate():
select = form.Stats.data
if select == "All":
result = budayaData.stat()
elif select == "Tipe Budaya":
result = budayaData.statByTipe()
elif select == "Asal Provinsi Budaya":
result = budayaData.statByProv()
return render_template("statsBudaya.html", template_form=form, template_result=result, select=select)
我不知道在这种情况下要创建“如果”条件。
我的方法:
<html>
<head>
<title>BudayaKB Lite</title>
</head>
<body>
{% include 'includes/_navbar.html' %}
<h3>Kriteria Pencarian Statistik Data Budaya</h3>
<form method=post action="">
{{ template_form.Stats }}
<p> <input type=submit value=Tampilkan> </p>
</form>
{% if select == "All": %}
<p>Budaya KB memiliki total {{ template_result }}</p>
{% elif select == "Tipe Budaya": %}
<table>
{% for key, value in result.iteritems() %}
<tr>
<th> {{key}} </th>
<td> {{value}} </td>
</tr>
{% endfor %}
</table>
{% elif select == "Asal Provinsi Budaya": %}
{% for key, value in result.iteritems() %}
<tr>
<th> {{key}} </th>
<td> {{value}} </td>
</tr>
{% endfor %}
{% endif %}
</body>
</html>
我不明白如何从SelectField中获取所需的数据,并且我的一些变量使用印尼语。但我希望您能理解我的代码并为我提供帮助。
[似乎是Jinja
if
语句中的错误。这是您的代码段: