2017-05-30 3157 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