簡體   English   中英

由Django服務器執行的Ajax調用的Python腳本

[英]Python script called by Ajax, executed by Django server

我是新來的,最近遇到了問題。 我有一個基於Django的網站,我需要從javascript執行python腳本。 我找到了一些答案,我該如何實現:

test.py

def main():
return "Hello"

if __name__ == "__main__":
    main()

的test.html

<div class="calc_range"></div>

test.js

$.ajax({
    type: "POST",
    url: "/static/devices/test.py",
    success: function(o) {
        $(".calc_range").html(o);
    }
});

看起來很簡單,但是沒有用。 .calc_range div中,我得到的是純Python文本,而不是“ Hello”:

def main(): return "Hello" if __name__ == "__main__": main() 

我讀到這是服務器問題,但現在我僅使用Django開發服務器(運行服務器)。 我希望它可以在開發和生產(Apache服務器)環境中使用。 有人可以幫我解決嗎?

您可以這樣做。

1)在urls.py中添加新的網址

2)在views.py中為此URL添加一個視圖

3)編寫一個將執行操作的函數,然后在視圖中調用它,並將值作為json返回。

4)在ajax中調用該網址。

這不是ajax應該起作用的方式。 您需要在urls.py文件中定義一個URL,並在views.py定義一個相應的視圖。

在該視圖中,您將調用函數。 比返回“ hello”(最好用json編碼)做更多的事情。

然后,Ajax將調用該特定的URL。

如果您對我上面提出的建議感到不舒服,建議您閱讀Django教程

關於部署到Apache,這是一個很大的話題, Django文檔也涵蓋了這一主題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM