2011-01-20 15 views
11

私は最近Pythonで開発しています。私はそれを絶対に愛しています。 の巨大なは、クイックスクリプト言語(想像して、奇妙な関数名はありません!)としてPHPからステップアップしています。私はそれをWeb開発言語として使用できることを願っています。Webスクリプト言語としてのPython?

私はDjangoについて聞いたことがありますが、もう少し簡単なものが欲しいです。

私はLighttpdを実行しています。すでにPythonスクリプトが動作していますが、http://localhost/index.py?foo=barのようにURLを介して引数を渡すことはできません。これを可能にする関数/ライブラリはありますか?

私はこのすべてが間違っている可能性がありますので、私に教えてください。しかし、私は絶対に嫌い PHP、私はPythonを見たことがあります。 ;)

+11

ようこそ光の側に。 – nmichaels

+1

それで、Pythonのサーバー言語としての欠点はありますか?なぜそれほど素晴らしいのであれ、誰もそれを使用しないのですか? – Blender

+1

多くの人がそれを使用しています。一年前、私はDjangoのものをスティックでやりたがっているリクルートを取り除かなければなりませんでした(私は彼らが最終的に2年前からフロントエンドの役割を果たしていることに気がついたと思います)。 – Quentin

答えて

11

シンプルで強力なフレームワークを使いたい場合は、Flaskを試してみてください。

(そして、いくつかのSQLAlchemyを学び、そして物事が急にさらに簡単になります。)

+0

良い神様、私はそれが欲しかったやり方で作業するのではなく、単純なDjangoプロジェクトの作業に3時間かかりました!しかし、フラスカはちょうど素晴らしい*です。それは私がサーバサイドを夢見るような方法でした:) – Blender

+0

Djangoは特定の構造のプロジェクトに輝きます。コンテンツの多くは、その多くが表示され、このコンテンツを公開するための管理インターフェースをすばやく作成する必要があります。小さなプロジェクトを始めるのは簡単ではありません。フラスコでは、このような魅力的な機械をすべて持っているわけではありませんが、プロジェクト全体を1つのファイルにまとめることができます。 (2つ、好ましくは、別の設定が便利です) – 9000

+0

フラスコは私の小冊子webappには適していました。管理者とのやり取りはほとんどありません。 – Blender

4

CGIインターフェイスを使用していると仮定すると、cgiモジュールです。

+0

私の個人的なウェブサイトはDjangoより数年古いもので、ほとんどがPythonのCGIで書かれています。それは素晴らしい。 – nmichaels

+0

うわー、私はCGIが奇妙なものに使用される奇妙な言語だと思った。私たちには勝者がいると思います(私はしばらく待って、他の人が何を言わなければならないかを知るだけです)。しかし、私はこれで間違いなくプレーしています(PHPはちょうど絶滅しました:P)。 – Blender

+1

CGIは、Webサーバーがプログラムを実行するための標準的な(しかし、比較的遅くて非効率的な)方法です(実行可能でなければならず、プロトコルは言語に依存しません)、静的ファイルではなく応答を取得します。私は一般的にFastCGIを使用していますが、これは似ていますが、プログラムを実行し続けるので、起動コストがかからない(CGIの大きな欠点です)。 – Quentin

2

私はDjangoを非常に高く評価することができます。それほど複雑ではありません。しかし、現時点であなたが探していると思うものはhttp://webpy.org/です。

2

あなたはCGIを使用することができますが、それは(代替案と比較して)で動作するようにやや直感に反するとかなり痛いです。その苦痛を和らげたいなら、私はフレームワークを使うことをお勧めします。かなりの数のフレームワークがあります。最も人気のあるフレームワークはDjango、Pylonsなどです。あなたは完全なリストhereを見ることができ、あなた自身のために決定します。

もしあなたが何かフルスタックを探しているなら、Django。あなたが何か小さいものを望むならば、Flask、web2py、そして他の多くのものが働きます。

1

WebサーバーとPython Webアプリケーションまたはフレームワークの間の標準インターフェイスであるWSGIを使用できます。このtutorialは、WSGIを使い始めるのに本当に役立ちます。これには、GETリクエストとPOSTリクエストの解析が含まれています(質問に記載されています)。

+0

公式ドキュメントの該当するドキュメントは次のとおりです。http://www.python.org/doc//current/library/wsgiref.html#module-wsgiref –

3

so-starvingプロジェクトをチェックして、さまざまな異なるPython Webフレームワークで書かれた簡単なアプリケーションを確認し、同意するものを選択することができます。

私は .../index.py?foo=barのように、 URLを経由して、それに引数を渡すことはできません。 には を許可する関数/ライブラリがありますか?

利用可能なPythonフレームワークのいずれかを使用すると、URLを特定のPython関数にカスタムマップすることができます。上記のURLは.../blog/foo/barのようになり、アプリは余分なビットをどうするかを知っています。

私は個人的には、Flaskの推奨事項を2番目に挙げています。初心者のための優れたマイクロフレームワークであり、小規模プロジェクトでの作業にも役立ちます。

私は、もう少し複雑ですが、大規模なアプリケーションに適したフレームワークPyramidにも惚れています。

+0

リンクありがとうございました。 –

+0

+1 – 9000

1

まだ誰もTurbogears(http://turbogears.org/)という名前を付けていないことに少し驚いています。それはかなり新しいですが、約束をたくさん持っており、私はそれを非常にシンプルで使いやすいと感じています。私は出て欠落している可能性がありthorrowlyかのように、私は多くの人が試していない:)

私も今FLASKをチェックするつもりだ:P

関連する問題