簡體   English   中英

在通用Web平台上從HTML執行Python

[英]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.

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