1

所以我最近发现了 mod_python,它很棒,因为重写我拥有的 PHP 代码并通过 Apache 执行并不难。但是,我刚刚发现我的托管服务 (HostGator) 不支持此模块,因为它们的每个物理共享服务器都有一个 apache 用户实例

这就引出了一个问题:

如果不使用 Django、Pylons 等,有没有办法从 HTML 代码调用 python 例程服务器端并让它返回 Web 内容?

例子:

简单的模式

<form name="message" action="directory/pythonscript.py/function" method="POST">

其中,在提交时,表单会解析表单中的内容,然后 python 例程根据表单的输入返回一个新组装的 HTML 文件的字符串,并且浏览器可能会重新呈现它。

def function(args):
     #parse inputs
     #assemble html string
     return htmlString

附加问题:

使用 mod_python,您必须至少传递“req”参数,它指向 apache 请求结构。如果没有 mod_python,这个功能是否仍然存在?如果没有 mod_python,我能否以某种方式物理映射到它?

我假设这一切都是可能的,因为HostGator 确实支持 python并且很多模块,例如 smtpd,具有发送电子邮件、通过网络通信等功能,所以大概有一些方法可以独立访问这个 API阿帕奇???

99% 的搜索返回关于 Django、Pylons 等的信息。如果这确实是最好的方法,我将探索该选项,但我现在要做的就是创建一些带有后端的动态 HTML 内容python 处理程序,无需安装任何其他 API。

谢谢。

编辑

我应该澄清一下,我根本不依赖 mod_python,这只是我发现的东西。我的问题旨在避免非标准(标准 = Python 2.7.x 附带,可通过 apache 或其他方式使用),如果可能的话。

4

2 回答 2

2

经过一番挖掘,似乎最快的方法是通过 php,但不是按照前面的答案。

在我的 HTML 中,我应该有:

<html> <form name="form" method="$POST" action="formAction.php" </html>

在 formAction.php 中:

<?

system( 'python ~/scripts/pythonscript.py/function', $return)
echo $return

?>

其中 $return 是动态生成的 HTML 页面字符串。在 python 脚本中,我必须以某种方式从 HTML 会话中解析发布的值。我认为这回答了我的问题,但我会等着看其他人是否发布更有趣的东西。

编辑:想出了如何解析 POSTed 值:

<?php

$VAR1 = $_GET["var1"];
$VAR2 = $_GET["var2"];

system("python <script>.py -args=[".$VAR1.",".$VAR2"."]", $return)
echo $return

?>

例如。

于 2013-08-15T17:21:42.140 回答
0

您可以在提交时执行 php.execute('pythonScript.py') ,对吗?

于 2013-08-14T18:29:20.423 回答