假设我有一个基本模板base.html
:
<!DOCTYPE html>
<html>
<body>
<div id="content">
{% block content %}
{% endblock %}
</div>
</body>
</html>
我有content
块的几个可能的子模板,比如child1.html
,child2.html
等。
是否可以在它们之间切换以响应页面上的HTML事件,比如说使用Javascript? (我的动机是让用户点击页面上的按钮来改变页面样式。)
我在Google App Engine上使用Jinja2和Python。
显然,似乎模板是由服务器端脚本设置的,所以这不应该是可能的,但我希望有人之前一定想做类似的事情。
答案 0 :(得分:2)
您已正确注意到,当您在浏览器中运行JavaScript时,jinja2模板将呈现为服务器端。
因此,JavaScript没有直接影响模板渲染的方式。
可能有一些解决方案,例如
隐藏生成它们,让您的JavaScript只显示其中一个
JavaScript会检测内部是什么,使用AJAX调用会拉动所需内容。