【问题标题】:Call python FUNCTION from javascript从 javascript 调用 python FUNCTION
【发布时间】:2014-07-28 10:16:29
【问题描述】:

这个问题已经被问过很多次了,我知道,如果我没有得到答案,我很抱歉。

我有一个不允许我安装 django 的托管计划,使用路由设置轻松调用 rest api 真是太好了。

我想要的是能够从执行 get/post 的 javascript 代码中调用 python 函数(我正在使用 AngularJs,但它与 ajax get/post 相同。)

假设我有一个 js 控制器“Employee”和一个视图“CreateEmployee”。

从我的 javascript 视图中,我可以在 js 控制器上调用我的 CreateEmployee(),现在我的问题是,如何在我的 .py 文件上调用特定函数(比如说)def CreateEmployee(params...)?

我发现只是在我的 .py 文件上进行获取/发布,但没有找到如何调用特定函数。

我可能不了解 python 和客户端/服务器通信范式,我已经在 asp.net WebForms 上编码很长时间了,因为我不能使用像 Django 这样的框架,所以我被卡住了。

谢谢

【问题讨论】:

    标签: javascript python angularjs client-server


    【解决方案1】:

    真的,它与 Python 没有太大关系。您的 javascript 代码在客户端的浏览器上执行,它所能做的就是发出 HTTP 请求(同步或异步)。此时,使用哪种网络服务器/技术/语言来处理 HTTP 请求完全无关紧要。因此,从客户端 javascript 代码 POV 中,您不是在“调用 Python 函数”,而是在发送 HTTP 请求并处理 HTTP 响应。

    如果您的网络主机不允许您运行 django(或任何符合 wsgi 的脚本),那么您可能不得不使用纯 CGI(警告:非常原始的技术)或迁移到 PHP(无评论)。或者找到另一个不存在于过去的主机;)

    【讨论】:

    • 那将是我最后的选择,我不想切换到 php,我想在开源领域学习一些新的东西,并选择了 python 和 django,这非常好。然后我意识到我的托管计划既没有 django 也没有烧瓶......
    • 谢谢,我去看看。
    【解决方案2】:

    您必须能够通过 HTTP 与服务器端 Python 代码进行通信。 This 可以提供帮助。

    当你这样做时,你通过 HTTP 进行通信。您不会直接调用 Python 函数。

    【讨论】:

    • 谢谢,但我还是有同样的问题。他们给我的托管接受 python,但不包括 django 和烧瓶......
    • 我明白了。我会找到另一个托管,因为这是 Python 使用的主要限制。或者您可以只使用另一种语言来实现 HTTP API。例如 node.js (JavaScript),因为你已经知道 JS。
    • @ElBarto:您的主机如何“接受 python”? CGI 还是 wsgi?
    • @bruno: 我不知道.. :/ 实际上他们让我可以访问 1&1 上的虚拟服务器,我也许可以通过 ssh 安装 django,但我对此真的很陌生主题,我害怕输入错误,它是一个产品服务器......
    • 如果它是一个专用服务器,你应该能够安装任何你想要的——或者,至少,要求服务器的系统管理员这样做。无论如何,您不应该依赖系统范围的 Django 安装,最好在 virtualenv 中拥有所有依赖项的确切版本。
    猜你喜欢
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 2016-03-02
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多