Python 使用Flask处理Twitter引导事件
我在web应用程序上有一组Twitter引导按钮,我需要将选择传递给Flask,我不想使用提交按钮Python 使用Flask处理Twitter引导事件,python,twitter-bootstrap,flask,Python,Twitter Bootstrap,Flask,我在web应用程序上有一组Twitter引导按钮,我需要将选择传递给Flask,我不想使用提交按钮 <div id="radios1" class="btn-group view-opt-btn-group" data-toggle="buttons-radio"> <button type="button" class="btn active" name="choice1" value="A">A</button> <button ty
<div id="radios1" class="btn-group view-opt-btn-group" data-toggle="buttons-radio">
<button type="button" class="btn active" name="choice1" value="A">A</button>
<button type="button" class="btn" name="choice1" value="B">B</button>
<button type="button" class="btn" name="choice1" value="C">C</button>
<button type="button" class="btn" name="choice1" value="D">D</button>
<button type="button" class="btn" name="choice1" value="E">E</button>
</div>
A.
B
C
D
E
Twitter引导会自动更新class=“btn active”设置,具体取决于单击。但我如何将所选按钮传递到烧瓶?我希望单击按钮调用flask应用程序中的函数(python函数)并更新特定设置,但我不希望每次单击都重新加载整个网页
我见过一些具有隐藏按钮的解决方案,其中包含更新隐藏按钮值的jquery函数,但该选择如何传递到flask:
<div id="radios1" class="btn-group view-opt-btn-group" data-toggle="buttons-radio">
<button type="button" class="btn active" name="choice1" value="A">A</button>
<button type="button" class="btn" name="choice1" value="B">B</button>
<button type="button" class="btn" name="choice1" value="C">C</button>
<button type="button" class="btn" name="choice1" value="D">D</button>
<button type="button" class="btn" name="choice1" value="E">E</button>
<input type="hidden" name="choice1" value={{request.form['choice1']}} />
</div>
<script type="text/jscript">
$("body").find("#radios1").children().each(function () {
$(this).bind('click', function () {
$("input[name=choice1]").val(this.value);
});
});
</script>
A.
B
C
D
E
$(“body”).find(#radios1”).children().each(函数(){
$(this).bind('click',函数(){
$(“input[name=choice1]”)val(this.value);
});
});
谢谢 如果要向Flask发送AJAX请求,必须执行以下操作:
<div id="radios1" class="btn-group view-opt-btn-group" data-toggle="buttons-radio">
<button type="button" class="btn active" name="choice1" value="A">A</button>
<button type="button" class="btn" name="choice1" value="B">B</button>
<button type="button" class="btn" name="choice1" value="C">C</button>
<button type="button" class="btn" name="choice1" value="D">D</button>
<button type="button" class="btn" name="choice1" value="E">E</button>
<input type="hidden" name="choice1" value={{request.form['choice1']}} />
</div>
<script type="text/jscript">
$("#radios button").click(function() {
$.post("/your_url_mapped_in_flask", { choice1: $(this).val() } );
});
</script>
@app.route("/your_url_mapped_in_flask")
def my_action():
choice = request.form['choice1']
# Do whatever you want to do with the vble choice
我认为它们是最基本的。您还可以从服务器返回一条成功消息,并对其进行处理以在视图中显示。或者,您可以使用GET请求和GET
函数来实现这一点,但是必须使用request.args.GET
而不是request.form
来恢复参数
如果我的帖子不够清晰,您也可以查看Jquery的$.get()
,$.post()
或$.getJSON()
函数:
:获取
:post
:getJSON
get
或post
函数。Twitter引导程序没有直接传递按钮点击的能力,这似乎很奇怪。为什么我必须使用隐藏按钮和jquery,这似乎是一个黑客解决方案。