繁体   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