我想在用户点击元素时加载Jinja2模板字符串。 例如,我有以下标签:
<div class="one"><a href="#one">One</a></div>
<div class="two"><a href="#two">Two</a></div>
<div class="three"><a href="#three">Three</a></div>
只有在单击One之后,我必须加载波纹管字符串:
{% include 'one.html' %}
并且在单击Two之后,必须加载此字符串:
{% include 'two.html' %}
等等。 我该如何处理这个问题?点击
时动态内容加载答案 0 :(得分:2)
您将不得不使用一些JavaScript来实现这一目标。
一种解决方案是使用jQuery load http://api.jquery.com/load/
答案 1 :(得分:2)
请记住,JavaScript发生在浏览器(客户端),而Jinja2是基于python的模板,它将出现在服务器端。通过JavaScript显示模板字符串将无法实现您想要的结果。似乎有两种方法可以达到你想要的效果。
一个选项是在页面最初加载时输出模板的结果,然后通过一些javascript行为显示它。有很多jQuery插件可以实现这个结果,你可以看一个例子是Bootstrap Tabs。
如果您不希望在首次加载页面时生成所有模板结果,则另一个选项是通过ajax加载模板的结果。需要将ajax请求提供给所需的jinja2模板的结果,然后可以将其输出到您的页面中。 jQuery's load提供了一种简单的方法。