1

WAMP で python の学習を始めたばかりなので、cgi を使用して html フォームの結果を取得し、mysqldb でデータベース検索を実行することに成功しました。python cgi コードで print ステートメントを使用して、.py で終わるページに結果を返すことができますが、.html の Web ページを作成し、それをユーザーに返してもらいたい、および/またはそれらを同じ Web アドレスに保持したいデータベース検索結果が返されたとき。

ありがとうポール

編集: ローカル マシンで明確にするために、アドレス バーに /localhost/search.html が表示されます。html フォームを送信し、/localhost/cgi-bin/searchresults.py で結果ページを受け取ります。/localhost/results.html または /localhost/search.html で結果を確認したい。これが公開サーバー上にあると仮定すると、.../cgi-bin/searchresults.py が返されます。最後に /cgi-bin/ ディレクトリを見たのは URL で 90 年代でした。デビッドが示唆したように、私は addhandler を一瞥しましたが、それが私が望むものかどうかはわかりません。

編集: ご意見ありがとうございます。そうです、フレームワークを使用せずに mod_rewrite を使用するのが良いようですが、それを見て、主にユーザーベースのサイズのために、問題を解決して mod_wsgi を使用して django を使用することにしました。そしてドキュメントの量。基本を理解したら、軽量でカスタマイズ可能なフレームワークに切り替えるかもしれません

4

1 に答える 1

3

最初に、URL は URL であり、ファイル拡張子は関係ないことを覚えておいてください。そのままにしておくことをお勧めします。

それでも不十分な場合は、URL は URL であり、ファイル拡張子は問題ではないことを思い出してください。Apache を構成して、別のルールを使用して、そのまま提供される静的ファイルではなく CGI プログラムであると判断します。AddHandlerを使用して、拡張子が .html のハード ディスク上のファイルのハンドラーを追加できます。

あるいは、mod_rewriteを使用して、…/foo.html が…/foo.py を意味することを Apache に伝えることができます。

最後に、URL がどのように見えるかをいじる場合は、ファイル拡張子のようなものの記号をすべて削除することをお勧めします (これにより、…/foo.anything ではなく…/foo が要求されます)。

リクエストと同じ結果のアドレスでユーザーを維持することについては…検索語が渡されたことを示すクエリ文字列パラメーターを取得しない場合、プログラムに結果のない基本ページを出力させるだけの問題です。

于 2009-06-29T20:30:33.443 に答える