从HTML中的wtforms中的SelectField中获取数据

问题描述 投票:0回答:1

我想从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中获取所需的数据,并且我的一些变量使用印尼语。但我希望您能理解我的代码并为我提供帮助。

python html flask wtforms
1个回答
0
投票

[似乎是Jinja if语句中的错误。这是您的代码段:

© www.soinside.com 2019 - 2024. All rights reserved.