1

それで、私は最近 mod_python を発見しました。これは、私が持っていた PHP コードを書き直して Apache を介して実行するのが難しくないので素晴らしいです。ただし、私のホスティング サービス (HostGator) は、物理共有サーバーごとに 1 つの 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 では、少なくとも apache リクエスト構造を指す "req" 引数を渡す必要があります。この機能は mod_python がなくても存在しますか? mod_pythonなしで物理的にマッピングすることはできますか?

HostGatorはpythonをサポートしており、smtpdなどの多くのモジュールには電子メールの送信、Web経由の通信などの機能があるため、これがすべて可能であると推測しているため、おそらくこのAPIに独立してアクセスする方法があると思いますアパッチの???

この検索の 99% で、Django、Pylons などに関する情報が返されます。それが実際に最善の方法である場合は、そのオプションを検討しますが、今のところやりたいことは、バックエンドで動的な HTML コンテンツを作成することだけです。他の API をインストールする必要なく、python ハンドラーを使用できます。

ありがとう。

編集

私は mod_python にまったく執着していないことを明確にする必要があります。それは私が見つけたものです。私の質問は、可能であれば非標準 (標準 = Python 2.7.x に同梱されており、Apache などで使用可能) の API を避けることを目的としています。

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 セッションからポストされた値を何らかの方法で解析する必要があります。それが私の質問に答えていると思いますが、他の誰かがもっと興味深いものを投稿するのを待ちます.

編集:投稿された値を解析する方法を考え出しました:

<?php

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

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

?>

例えば。

于 2013-08-15T17:21:42.140 に答える