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>
我正在使用 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>