web-dev-qa-db-ja.com

PythonでシンプルなWebサイトを作成する方法

PythonでシンプルなWebサイトを作成する方法

私は本当に単純なことを意味します。f.ex、「Hello World」というテキストが表示され、「送信」ボタンがあり、(onClick)はajaxボックスに「送信成功」を表示します。

Pythonで何かを開発したいのですが、どこから始めればいいのかわかりません。

22

Google AppEngineを試してみませんか?これらは、アプリケーションを開発するためのローカル環境(ローカルシステムで実行される)を提供します。彼らはサイトを立ち上げて実行するための素晴らしい簡単な導入資料を持っています-あなたの「こんにちは、世界」の例は簡単に実装できます。

そこから、他のいくつかのフレームワーク(Vanilla AppEngineのものは単純なpython Webフレームワーク)のかなり標準的なものであるため、学習したものを使用)を使用するか、他のGoogleを使用して続行できます。提供(アプリをホストするような...)

3
Daren Thomas

この質問はデリケートな問題なので、この質問にはもっと手の込んだ答えがほしいと思っていました。 Python Web開発は多くのフレームワークに分かれており、それぞれに浮き沈みがあり、すべての開発者が異なるフレームワークを使用しています。これは非常に残念です。知っておくべきこと:

  • WSGIを使用します。何も使用しないでください。WSGIはPython Web開発;の最新の標準です。
  • 本当にする必要がある場合を除いて、WSGIの上で直接開発しないでください(Hello Worldアプリの場合さえも);
  • ニーズに最適なフレームワークを使用してください:
    • 私は Werkzeug (実際にはプラットフォームではなく、toolkitと呼んでいます)を使用しました。本当に便利な機能とヘルパーを提供しながら、WSGIレベルで作業できます(WSGIの仕組みを理解するのにも役立ちます)。 WerkzeugのWebサイトには、便利なチュートリアルやそのようなものもあります。
    • おそらく最も人気のあるフレームワークは Django です。使用したことはありませんが、人気がある理由はあるのでしょう。

結論として、あなたの心に最も近いものを使用してください。

11
Felix

PythonではWebサーバーがPythonで実装されているか、Pythonが他のWebサーバーから呼び出されています。 Pythonライブラリには、完全に機能するWebサーバーが含まれています。必要なのは、リクエストに応答するためのいくつかのメソッドを追加することだけです。

この単純な手法を使用したWebサイトの完全な例については、 Pythonで単純なWebサーバーを作成する を参照してください。

この手法は、商用のプロダクションWebサイトの開発に役立つ場合とそうでない場合がありますが、P(ython)からW(ebsite)への最も簡単な方法です。

4
Larry Lustig

Felix が示唆するように、ゲートウェイインターフェースとして必ずWSGI( mod_wsgi )を使用してください。これは、ビジネスを行うための最新の方法であり、他の主要な候補である mod_python は維持されなくなりました。

Djangoは、本格的な本番品質のフレームワークが必要な場合に最適ですが、オーバーヘッドが大きくなり、学習曲線がかなり急になるという犠牲も伴います。

私の提案は: 竜巻

Tornadoを使用すると、すばやく簡単に起動して実行できることがわかりました。ここで説明するのは、トルネードのドキュメントの「Hello、World」です。

import tornado.httpserver
import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    http_server = tornado.httpserver.HTTPServer(application)
    http_server.listen(8888)
    tornado.ioloop.IOLoop.instance().start() 

それ自体が語る私の意見では。

編集:付属のWebサーバーを使用するしていないことに注意することが重要です竜巻。 非常に簡単にWSGIにプラグイン すでに使用しているサーバーで実行できます。

検索で最高の幸運を!

3
jathanism

Udacity Pythonを使用したWeb開発 で無料で提供されるこのコースを受講できます。これは素晴らしいコースで、GAEを使用してゼロから教えます。コースの最後には、Pythonで開発したウェブ上の本格的なブログが完成します。

PSインストラクターの1人はRedditの創設者であるSteve Huffmanです。

3
abhi

私はあなたが何らかの種類のPython Webフレームワークから始めるべきだと思います。私にとって Web2Py は簡単かつ強力です。もちろん、CGIを使用してページを作成できます:フレームワークなし必須ですが、より複雑なサイトでは実用的ではありません。

2
Michał Niklas