2013-08-01 76 views
0

我有一個問題:我想單擊模板頁面上的一個項目,並將相應的鍵傳遞給views.py,我該怎麼做?非常感謝你。從模板中的部分代碼如下:Django:如何將參數從模板傳遞到視圖

{% for key,value in wordList.items %} 

     <li><a href="{% url 'infoRetriever:sitelist' %}" data-weight={{ value }} >{{ key }}</a></li> 

    {% endfor %} 

增加:

例如,現在我在URL www.example.com/results.html。在頁面上有一個鍵列表:key1,key2,key3 ...當我點擊一個鏈接'key1'時,該頁面將被定向到www.example.com/sitelist/key1 我該怎麼做?謝謝。

+0

您可以從渲染模板向視圖發出ajax請求 – dm03514

+0

您需要將點擊的項目作爲頁面的鏈接(並通過URL中的正則表達式傳遞參數),或者需要使用像JavaScript的東西來做客戶端操作。 –

回答

0

不幸的是,您不能直接從模板傳遞到視圖,儘管您可以從視圖傳遞到模板。你需要做的是使用AJAX並編寫另一個處理GET或POST請求並返回一些數據的視圖,或者使用一個鏈接將某人完全發送到新頁面。

編輯:

此外,只需在模板中修改您的鏈接。所以:

{% for key,value in wordList.items %} 
     <li><a href="/sitelist/{{ key }}" data-weight={{ value }}{{ key }}</a></li> 
    {% endfor %} 

由於使用{{key}}只是轉儲了變量的文本,所以會動態地創建您的鏈接。

+0

謝謝,我對這個問題有了更新,你可以看看嗎? – Robert

+0

更好的方法是鬆開'{{key}}',而不是使用'{%url'infoRetriever:sitelist'key%}',因爲您的網址需要捕捉關鍵參數才能使其工作並因此可以反轉辦法。您應該儘量不要將您的網址硬編碼到您的模板中。 – knbk

相關問題