![](/img/trans.png)
[英]Python script developed to act on input from html (web page) is not executing the shell command
[英]Executing Python From HTML on Generic Web Platform
所以我最近發現了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” arg,它指向apache請求結構。 如果沒有mod_python,此功能是否仍然存在? 沒有mod_python,我能以某種方式物理地映射到它嗎?
我想所有這些都是可能的,因為HostGator確實支持python,並且許多模塊(例如smtpd)具有發送電子郵件,通過網絡進行通信等功能,因此大概有某種方法可以獨立訪問此API的Apache ???
99%的搜索都返回有關Django,Pylons等的信息。如果這確實是最好的方法,我將探索該選項,但是我現在要做的就是創建一些帶有后端的動態HTML內容。 python處理程序,而無需安裝任何其他API。
謝謝。
編輯
我應該澄清一下,我根本沒有附加到mod_python,這只是我發現的東西。 我的問題是為了避免使用非標准的API(標准= Python 2.7.x附帶,可通過apache或其他方式使用),API。
經過一番挖掘之后,似乎最快的方法是通過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
?>
例如。
您可以在提交時執行php.execute('pythonScript.py'),對嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.