ホスティング会社から、Python がサーバーにインストールされていると言われました。それを使って単純な HTML ページを出力するにはどうすればよいでしょうか? これは今のところ学習課題ですが、いつかは現在の PHP と同じように Python を使いたいと思っています。
4 に答える
共有ホスティングを使用したとき、ファイルの名前を .py に変更し、先頭にシバン行を付けると、Python として実行されることがわかりました。
#!/usr/bin/python
おそらくかなり悪い習慣でしたが、うまくいきました。ただし、大規模な Web アプリを吐き出すことができるとは思わないでください。
サーバーが Apache HTTP サーバーを実行している場合は、mod_wsgiやmod_python などをインストールしてモジュールとして実行する必要があります (サーバーの署名がこれを示している場合があります)。
実行したら、apache 構成にハンドラーを追加する必要がある場合や、デフォルトがセットアップされている場合があります。
その後、実行しているモジュールのミドルウェアのドキュメントを参照してから、Django などを使用してください。
これを行うには多くの方法があります: サーバー アーキテクチャがWSGI標準をサポートしていると仮定すると、独自のハンドラーをプラグインして HTML を生成するのと同じくらい簡単なことを行うことができます (本当に簡単にしたい場合は、手動で文字列を作成するだけです)。 、またはMakoのようなテンプレート エンジンを使用します。
WSGI ハンドラーの例は次のようになります。
class HelloWorldHandler(object):
def __call__(self, environ, start_response):
"""
Processes a request for a webpage
"""
start_response('200 OK', [('Content-Type', 'text/html')])
return "<p>Hello world!</p>"
何を返すか、またはどのように生成するかは明らかにあなた次第です。私が言うように、より複雑なページにはテンプレート エンジンが役立つ場合があります。
より複雑な方法は、ペーストやターボギアなどのより完全なフレームワークを活用することですが、静的ページを 1 つまたは 2 つだけ出力したい場合、これはやり過ぎになる可能性があります。
PHP と「同じように」使用することはできません。ただし、Python のようにそれを行う方法はたくさんあります。
Turbogears や Django などを調べてください。または、最小限のものが必要な場合の BFG、または基本に直接行きたい場合は WSGI (mod_wsgi 経由) が必要です。