2011-04-14 90 views
0

我想知道是否有重复循环与新的对象通过jquery/ajax收集,例如我有{% for car in cars %}做一些事情,然后通过ajax调用获取新车对象后,我想放弃当前对象并使用相同的循环显示新对象。那可能吗?这是为了实现搜索功能,我最初显示了一些对象,但我有一个搜索框让人们找到特定的对象。我想回到准备好的HTML并直接替换HTML,但这有点烦人。Django模板中重复使用循环

回答

1

,最好的方法(我认为)这样做,就是:

  1. 有其基于经常GET请求结果页面视图在Django设置,如view_cars。这个URL可能看起来像http://mysite.com/cars/1。该视图的模板可能是这样的:

    <div id="cars"> 
        {% for car in cars %} 
        <!-- output here! --> 
        {% endfor %} 
    </div> 
    
  2. 已经jQuery的加载结果与$.load()功能,像这样:

    $("#cars").load("http://mysite.com/cars/2 #cars"); 
    

搜索结果将被自动加载到#cars div,而且您不必处理Django中的特殊AJAX情况。

+0

我喜欢你的风格男人 – madprops 2011-04-14 04:56:38

0

一旦模板已经通过模板引擎没有更多的循环,只是以一种或另一种形式输出文本。但是当你使用AJAX时,它会重新进入/一个视图的顶部,这样你就可以在那个时候重用你喜欢的任何循环。