使用AJAX在jinja2 Python框架中动态加载行

使用AJAX在jinja2 Python框架中动态加载行,python,ajax,google-app-engine,jinja2,Python,Ajax,Google App Engine,Jinja2,我试图在用户到达页面末尾时动态加载新内容。我的web应用程序使用gae python。我使用ajax和jquery在html中更新查询 HTML: {% block content %} <div class="hero-unit special-padding"> {% for h in hots %} {{ h.imageid.get().render() | safe }} {% endfor %} {% include 'pager.html' %}

我试图在用户到达页面末尾时动态加载新内容。我的web应用程序使用gae python。我使用ajax和jquery在html中更新查询

HTML

{% block content %}

<div class="hero-unit special-padding">
  {% for h in hots %}
    {{ h.imageid.get().render() | safe }}

  {% endfor %}

{% include 'pager.html' %}
 </div>
{% endblock %}
现在,每当ajax更新我的HTML时,我希望jinja2框架调用python函数
.render()

我知道也可以用javascript编写整个HTML代码,但我想知道是否还有其他简单/更好的方法可以做到这一点

函数更新HTML(e){
function updatehtml(e){
        for (var i = 0; i < e.length; i++) {
            var html= "{{ "+e[i]['imageid']+".get().render() | safe }}";
            $('.hero-unit').append(html);
        }
    }
对于(变量i=0;i
将仅在有人请求您的URI时呈现一次

因此,行
var html=“{{{”+e[i]['imageid']+”.get().render()| safe}”将被呈现,并且包含对您的porpuse的无效呈现

为了做到这一点,您需要从您的lodapage处理程序用html作出响应。 只需“移动/采用”
html=“{{{e[i]['imageid']+”.get().render()| safe}”
到loadpage处理程序,然后使用简单的模板文件或内联方式呈现它,并使其成为html响应。AJAX请求将能够获得html格式的数据,然后您可以轻松地将其追加。您必须小心使用id,不要使它们依赖于html,而是依赖于model/id,以避免重复等


在这之后,您就可以添加可以从
e
参数中轻松获得的html了。问题:为什么不让loadpage用html响应,并在脚本中添加/替换相应的div呢?是的,我可以使用.load()来实现这一点。我一直在考虑只读取新内容并进行更新,而不是从一开始就读取所有内容。我指的不是.load(),而是对Ajax json请求的HTML响应。我想你想错了。请阅读有关您试图实现Oops的实现的更多信息,谢谢我移动'var html=“{{{{e[I]['imageid']]+.”get().render()| safe}}”;'到我的python处理程序,并将html传递给ajax。它工作得很好。谢谢:)
{{ datastoreKey.get().render()|safe }}
function updatehtml(e){
        for (var i = 0; i < e.length; i++) {
            var html= "{{ "+e[i]['imageid']+".get().render() | safe }}";
            $('.hero-unit').append(html);
        }
    }