2017-05-30 302 views
1

這是我的Django Templates tag中的一個過濾器。使用按鈕OnClick在Django模板中執行函數

@register.filter('saving_bookmarks_db') 
def saving_bookmarks_db(news_data,news_source,): 
    #this will save the data in db 

在我Django Template,我有一個按鈕,這樣

<button data-toggle="modal" id="myClickButton" href="#dbModal" class="btn btn-info pull-right custom" >Bookmark</button> 

這是我包括命令,其中包括HTML模式並保存也使用標籤

{% include "db_saving.html" with source=source data=data %} 
保存數據

我想要做的是,這包括命令只有當按鈕被點擊時執行,但在Django頁面刷新時執行,它保存所有的數據在數據庫中,而不是當我點擊按鈕。

回答

0

你不能在模板過濾器中這樣做。這將始終在渲染上執行。

任何影響數據庫以響應用戶操作的事情只能發生在視圖中,通過URL訪問。這聽起來像你希望從你的模板中的Ajax函數調用它,然後從你的onclick處理程序調用它。

+0

所以唯一的和最好的解決方案是,我用該按鈕調用視圖並保存該視圖中的數據? – Rao

+0

是的,這總是要做的事情。 –

+0

如果我想從django模板返回字典以查看該怎麼辦?我需要使用額外的功能,如Ajax或它可以簡單地完成? – Rao