刚开始制作Flask应用程序来制作一个简单的向导。现在我只有两个“步骤”,每个步骤都有自己的HTML模板化文件; Jinja是模板语言。第一次传递使得它在“Next”和“Previous”上路由到新页面。
很简单,但现在我想把它转换成一页的应用程序。使用Handlebars就像拥有一个主容器div一样简单,然后在单击下一个/上一个按钮时渲染单独的模板。
有没有办法在Flask中这样做?一种使用JS或Flask将模板HTML文件呈现或加载到div容器的方法吗?
答案 0 :(得分:3)
您可以使用AJAX从服务器加载内容,而无需重新加载整个页面。
举个例子:
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready( function() {
$('#next').click(function() {
$.ajax("{{ url_for('myroute') }}").done(function (reply) {
$('#container').html(reply);
});
});
});
</script>
<input type="button" id="next" value="Next" />
<div id="container"></div>