web-dev-qa-db-ja.com

Pythonの観点からサーバー言語としてPHPを使用する方法

PHPを使用したサーバーサイドプログラミングのみを知っています。私にとっては、index.phpに何かを書き込んでhttp://localhost/index.phpを呼び出し、PHPスクリプトの結果を確認します。私はCakePHPを使用してきましたが、URLの書き換えでできることがあることを理解していますが、私の心では、URLとサーバー上のPHPファイルの間に1対1の関係があります。

今ではPythonで多くのことをしていますが、コマンドラインユーティリティのみです。次のプロジェクトでは、Pythonの代わりにPHPを使用したいと思います。これまでのところ、私はmod_pythonについて、PylonsやTwisted、またはDjangoなどのフレームワークを使用して、出力を取得する必要があると言われました。他の人は、HTTPヘッダーをprint()するだけで、PHPで使用されているようにスクリプトが出力されると言っています。

基本的にはディレクトリリストのみを取得してきれいにするものを作成して、モバイルブラウザから多数のPDFファイルにアクセスできるようにします。 PHPでこれを行う方法、HTMLを生成するPythonスクリプトを作成する方法を知っています。 http://localhost/pdfcentral/を開いたときにそのスクリプトを実行する方法がわかりません。

サーバーをどのように構成する必要がありますか? Ubuntu 10.04で実行されます。

9
Martin Ueding

mod_pythonは現在積極的に開発されていません。 Apache says は、プロジェクトが死んだという意味ではありません-

現在、mod_pythonは活発に開発されていません。これは、一部の人々が主張しているように、「死んだ」という意味ではありません。ほんの少しだけ、コードとプロジェクトが十分に成熟していることを意味します。

しかし、代わりに mod_wsgi を使用する必要があるのは 推奨 です。それはすべてをゼロから構築したい場合です。これを学習演習として使用しているのでない限り、これはお勧めしません。

Webフレームワークを使用して、ルーティング、リクエストなどを処理する手間のかかる作業を行うことをお勧めします

Python web-frameworksの包括的なリストが利用可能です ここ ですが、ここに人気のあるものがあります-

  • Django -Rails上のPythonに相当するRubyと見なされ、かなり頑丈であるため、必要なものには適していない。
  • Flask -これはマイクロフレームワークです。つまり、小型で邪魔にならず、多くのバッテリーを必要としない小規模プロジェクトに最適です。
  • Pyramid -Pylonsを構築したのと同じグループによって構築されます。 FlaskとDjangoの間のどこかにあります-いずれかの代替として使用できます。
  • ボトル -これは別のマイクロフレームワークであり、Flaskよりもさらに最小限です。 1つのファイルであり、標準ライブラリ以外に依存関係がない(組み込みのテンプレートエンジンを使用する場合)ので、必要なものにぴったりです。
  • Web.py -Redditを使用すると(取得後に新しいツールで書き直されます)。
  • webapp2 -Google App Engineの標準フレームワークです(ただし、他のフレームワークを使用できます)。

これらの中で、私はFlaskをお勧めします。私はそれを使ったことがあり、苦情はありません。また、サイトにもっと機能を追加したい場合に便利な拡張機能もたくさんあります。

また、テンプレートエンジンが必要になります-HTMLをアセンブルするには。 Jinja2 、Flaskを作っているのと同じ人によって構築されており、かなり広く使用されています。しかし、php Web開発から来ると、 Mako より自然になります。これもかなり人気があります。

以下は、Python Web開発に関するより包括的なFAQです。 Python FAQ:Webdev

7
elssar

この質問は少しわかりにくいと思いますが、私が正しいのなら、あなたの主な目的は、かなりスタイリングを使用して携帯電話にファイルを提供することだと思いますか?

それが本当なら、何かをセットアップするためにそれほど多くのループを通過する必要はないはずです。

Apache2を使用すると、メインファイルリストディレクトリを編集して、必要に応じてスタイルを設定できます。

また、Apache2 Directory ListingのテーマをGoogleで検索するだけで、すぐに使用できるメインテーマが多数用意されており、レスポンシブにすることも難しくありません。

Apacheのデフォルトの外観を変更する方法をいくつか紹介します

そして、チェックアウトするための既製のテンプレートがいくつかあります。もっとたくさんあります。

リポジトリスタイル

再帰

インデックス

1
Simon Hayter