2016-12-07 534 views
0

假設我有一個只向自己發送電子郵件的python函數,我想在用戶點擊模板中的某個按鈕時調用,而不進行任何重定向(也許只是一個彈出消息)。Django:當點擊按鈕時調用python函數

有沒有辦法做到這一點?

+2

你需要AJAX爲。 –

回答

0

要發送電子郵件而不重新加載頁面,您可能希望使用ajax發送請求。 Here是一些細節。

例如,您可以編寫以下AJAX功能:

$('#button').on('click', function() { 
$.ajax({ 
url: '/send_mail/', 
data: {email: 'send'}, 
type: 'GET', 
}).done(function() { 
alert('Well done!') 
}); 
}); 

而在一個視圖中,您可以處理它幾乎是一個簡單的要求:

from django.http import Http404 

... 
if request.is_ajax(): 
    if request.GET.get('email') == 'send': 
     # send email 
    else: 
     raise Http404 
0

在您的意見中,您可以處理任何傳入的獲取/發佈請求。並且基於該按鈕的處理程序(並且該按鈕顯然必須將某些內容發送給服務器),則可以調用任何函數。