私自身はPythonの初心者開発者なので、同じ質問があります。おそらく、より上級のユーザーが詳細を入力できます。これが私がこれまでにしたことです:
開始する最も簡単な方法は、実行可能なPythonスクリプト(.py)を作成し、それをcgi-binにドロップすることです。その後、yourhost.com / cgi-bin/your_script.pyからアクセスできます。簡単に実行でき、フォームの処理などに簡単に使用できます。
一部のサーバーでは、新しい.pyスクリプトを「表示」する前にサーバーを再起動する必要があります。これは、迅速な開発には非常に煩わしい場合があります。これが、多くの人がWSGIなどのミドルウェアを使用する理由の1つです。WSGIを有効にするためにApache構成を変更した方法は次のとおりです。
LoadModule wsgi_module libexec/apache2/mod_wsgi.so
<VirtualHost *:80>
WSGIScriptAlias /myapp /Library/WebServer/wsgi-scripts/views.wsgi
<Directory /Library/WebServer/wsgi-scripts>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
views.wsgiは単なるPythonスクリプトです。ここで、localhost / myapp / anythingに移動すると、views.wsgiにリダイレクトされます。このファイルをルートディレクトリに配置しないことをお勧めします。そうしないと、静的ファイルを参照できなくなります。
単純なアプリは次のようになります。
def application(environ, start_response):
start_response('200 OK', [('content-type', 'text/html')])
return ['Hello world!']
environには、ユーザーが到達しようとしているパスに関する情報が含まれているため、URLのリストを設定し、要求されたURLに基づいて呼び出す関数をプログラムに指示することができます。このようなもの:
path = environ.get('PATH_INFO','')
if path.startswith('/helloworld'):
# call your function that returns HTML code
フレームワーク(Djangoなど)についてはまだあまり扱っていませんが、スクリプトから渡される変数を使用してHTMLテンプレートに簡単に入力できるという利点の1つがあると思います。Djangoのテンプレートエンジンでは、変数とロジック(if、forなど)をHTMLに混在させることができます。関数が呼び出されると、関数が返すものはすべてクライアントに送信されます。
私はまだこれらすべてにかなり慣れていないので、ここでエラーがあれば修正してください...