Flask webapp 上有多个按钮?

Multiple buttons on a flask webapp?

我正在使用 python 和 Flask 制作我的第一个 Web 应用程序,它是一个简单的计算器,但我目前无法尝试使用多个按钮。一开始只是为了展示一个图表,这里是python代码:

class FormulaForm(Form):
    formula = StringField('formula')
    graph = SubmitField('graph')

@app.route('/')
def calculate():
    form = FormulaForm()
    formula = request.args.get('formula','')
    points = mp.make_points(formula,0,7)
    comp = make_plot(points[0],points[1])
    return render_template('index.html',the_script=comp[0],the_div=comp[1],form=form)

这里是 html 代码:

<form method="GET" action="">
    <br />
        {{ form.formula }}
    <br />
        {{ form.graph }}
</form>

到目前为止一切顺利。但我不知道如何添加更多功能,例如我想添加一个按钮来显示以某个值 x 计算的公式。我尝试在表单中添加一个额外的输入字段和一个额外的按钮,如下所示:

class FormFormula(Form):
    formula = StringField('formula')
    graph = SubmitField('graph')
    evaluate = StringField('evaluate_at')
    evaluate = SubmitField('evaluate')

但是我不知道如何让视图处理两个不同的操作。 我想我找到了一个解决方案 here,但它仅在方法为 "POST" 时有效,并且会重新加载我不想要的页面。那么,有没有办法在同一个视图中使用多个按钮呢?

@app.route('/start' ,methods=['POST'])
def stop():
    "process done here"
    return Something

你的 app.py 喜欢这个并且 html 归档这个

    <script src="static/js/ajax.js"></script>
    <script type="text/javascript" language="javascript">
    $(document).ready(function() {
    $("#start").click(function(event){
    $.post(
        "/start",
        function(data) {
            window.alert(data);         
            }
        );      
            });
    });

</script>

<button id ="start" type="button" value = "Load Data">Start</button>