2017-05-30 71 views
1

これは私のDjango Templates tagのフィルタです。私Django TemplateボタンでDjangoテンプレートで関数を実行OnClick

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

、私はこの

<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 %} 
を使用してデータを保存保存します私のincludeコマンドであり、

私がしたいのは、このインクルードコマンドは、ボタンがクリックされているときだけdjangoで実行されます。ページが更新されるたびに、DB内のすべてのデータを保存します。ボタンを押します。

答えて

0

あなたはテンプレートフィルタでは、このようなことを行うことはできません。それは常にレンダリング時に実行されます。ユーザーのアクションに応じてデータベースに影響を与え

ものは唯一のURLを介してアクセスビュー、中に発生する可能性があります。あなたのテンプレートのAjax関数から呼び出され、onclickハンドラから呼び出されるように思えます。

+0

私はそのボタンでビューを呼び出し、そのビューからデータを保存するだけです。 – Rao

+0

はい、それはいつもやるべきことです。 –

+0

もし私がdjangoのテンプレートから辞書を返すのであれば?私はajaxのような余分な機能を使用する必要がありますか、それとも簡単に行うことができますか? – Rao

関連する問題