因此,我有一個網站託管在運行django的樹莓派上。我有我的home.html,我想顯示一個由圖像組成的菜單。當圖像被點擊時,我希望他們運行一個python腳本/函數。任何人都可以幫我解決這個問題嗎?使用django從html內執行python funtion
另一方面,我不希望頁面改變。它只是一個圖像,當點擊時執行不同的代碼。
我已經設法讓代碼運行,但是當頁面加載到點擊按鈕時運行。
也許django不是這裏的答案嗎?
因此,我有一個網站託管在運行django的樹莓派上。我有我的home.html,我想顯示一個由圖像組成的菜單。當圖像被點擊時,我希望他們運行一個python腳本/函數。任何人都可以幫我解決這個問題嗎?使用django從html內執行python funtion
另一方面,我不希望頁面改變。它只是一個圖像,當點擊時執行不同的代碼。
我已經設法讓代碼運行,但是當頁面加載到點擊按鈕時運行。
也許django不是這裏的答案嗎?
要在客戶端操作上執行服務器代碼,您顯然必須提出請求。
在你的情況可能是ajax請求,因爲你不需要重新加載頁面。
下面是一個Ajax請求的一個簡單的例子:
<script type="text/javascript">
var xhr = new XMLHttpRequest();
xhr.open('GET', '/yourpath', true); //will trigger http://yourdomain.com/yourpath.
xhr.onreadystatechange = function(e) {
if (this.readyState == 4 && this.status == 200) { //200 means OK
console.log(this.responseText); //in your browser : F12 => Console. This is what the server returned.
}
};
xhr.send();
</script>
既然你必須要逃避一個Django'view' Python代碼,並且所述視圖返回一個HTTP響應導致頁面重載,你有對視圖進行ajax調用以觸發您想要運行的任何代碼。這將使您的頁面保持不變... – schwobaseggl
或JavaScript。 – Obsidian