2009-12-06 11 views
6

非常に単純なPython Webアプリケーションを作成したいと思います。私はDjangoやそれ以外のWebフレームワークは必要ありません。 PythonでWebアプリケーションを作成する簡単な方法はありませんか?Python Webアプリケーション

おかげ

+2

重複:転記する前に「[Python] simple web app」を検索してください。あなたの質問には、100以上の回答があります:http://stackoverflow.com/search?q=%5BPython%5D+simple+web+app。例:http://stackoverflow.com/questions/1641616/python-and-web-development –

+0

あなたがdjangoに関して嫌いなことを述べている場合は、代替案を推奨する方が簡単かもしれません。 – tosh

答えて

3

WSGIあなたが探しているものと考えられます。いくつかの軽量のPython web frameworksがありますが、djangoよりもモノリシックではありません。

5

確かに!これはウェブアプリがある

print 'Content-Type: text/plain' 
print '' 
print 'Hello, world!' 

For example、 - あなたは、Webサーバーを実行しているマシンの適切なディレクトリ内のファイルに保存し、適切にサーバの設定を設定している場合(サーバーによって異なります)。私が指摘した記事では、このWebアプリケーションをGoogle App Engineにどのように配備するかを示していますが、Webサーバのほんの一部がCGIアプリになることができます。これはその簡単な例です。

もちろん、CGIには限界があり、WSGIのようなもっと洗練されたアプローチを使用することもできます(CGIの上で実行できるため、ほとんどの場合、より高度な方法で展開することもできます)、多くの優れたユーティリティcomponentsの一部をWSGIで展開することで、アプリケーションの特定の部分をコーディングする手間を省くことができます。

10

あなたがDjangoのを必要としない場合は、真実web.py

http://webpy.org/

import web 

urls = (
    '/(.*)', 'hello' 
) 
app = web.application(urls, globals()) 

class hello:   
    def GET(self, name): 
     if not name: 
      name = 'world' 
     return 'Hello, ' + name + '!' 

if __name__ == "__main__": 
    app.run() 
1

を試してみてください、あなたはそれが非常に最小限だ場合でも、ある種のフレームワークが必要なのかということです。あなたはベースとしてWSGIを使用することができ、少なくともあなたは少し良くなっています。 Pythonは非常に強力で非常に非特異的なプログラミング言語なので、フレームワークなしでそれを行うことにした場合、あなたが取っているかもしれない膨大な量のコードを書き直さなければなりません。

Django以外のものを使用する場合は、this listを試してみてください。あなたはそれについて気分がいいほど単純なものを見つけるかもしれません。 :)

0

うんWSGI ...

def hello_wsgi(environ, start_response): 
    start_response('200 OK', [('content-type', 'text/html')]) 
    return ['Hello world!'] 

あなたは離れて、HTTP webobを試しから少しさらに得るために要求/応答の観点から、この抽象化したい場合。

from webob import Request, Response 

def hello_wsgi(environ, start_response): 
    request = Request(environ) 
    #do something with the request 
    #return a response 
    return Response("Hello World!")(environ, start_response) 
0

私は最小限のWebフレームワークとして常にbottleを使用しています。 非常に使いやすいです。最小の例として

- ウェブサイトから取られた:あなたは、単に機能へのURL(ルート)を関連付ける

from bottle import route, run 

@route('/hello/:name') 
def index(name='World'): 
    return '<b>Hello %s!</b>' % name 

run(host='localhost', port=8080) 

。これはオプションの引数を得ることさえできます。 オプションのライトテンプレート言語があり、ニーズに合わせて微調整できます。とてもパワフルな。

これは、アプリケーションに沿って立っている単一のファイルであり、純粋に準拠したPythonであるため、インストールも非常に簡単です。また、開発モード中にmodif上で素晴らしいオートロードを行うことで、デバッグが非常に簡単です。

最終的な利点として、それはpypyの下でスムーズに実行されるため、他のフレームワークよりもスピードが向上します。

0

PHPとWSGI for Pythonの場合は、PhusionPassenger Standaloneを使うか、またはPHPと同じテクニックを使ってNGINXを使って、FastCGIに渡すのが良いでしょう。

URLや旅客のためのすべての説明を見つけることができます:Here

Pythonは簡単にWeb開発のためのPythonをラップ枠組みについてFastCGIuWSGIまたはPassenger

上でnginxの上での実行に関するすべての情報私は、Djangoのをお勧めしますそれが大規模なアプリケーションであれば、Djangoは実際にはそれほど難しくありません。

Good Luck!

0

アピール(https://github.com/hivesolutions/appier)を試すことができます。ここではサンプルアプリケーションがあります:

import appier 

class HelloApp(appier.App): 

    @appier.route("/", "GET") 
    def hello(self): 
     return "Hello World" 

HelloApp().serve() 

そして、ここでは、あなたがそれを実行する方法は次のとおりです。

pip install appier 
python hello.py 

免責事項:このフレームワークは、私の会社のオープンソースポートフォリオの一部です。私たちは、コンサルティング業務のコードを可能な限りシンプルかつクリーンなものにするためのフレームワークを構築しました。プロジェクトは非常に積極的ですが、私たちは常にフレームワークを使用していますが、最近公に話し始めたばかりなので、まだコミュニティはありません。しかし、その理由から、初期の鳥の開発者と緊密に協力して、ドキュメントの改善や新機能の追加には非常に時間がかかります。

関連する問題