2011-04-14 141 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時,它會重新進入/一個視圖的頂部,這樣你就可以在那個時候重用你喜歡的任何循環。