2013-08-16 9 views
5

私は単純なPython Webアプリケーションを構築しており、SABNZBDやCouch Patatoのように独立して動作させたいと思っています。これらのアプリケーションは、自己完結型のWebアプリケーションです。これらの製品はウェブインターフェースを提供するために何を使用していますか?Python Webベースのアプリケーションを構築するためのオプション

画像の建物は画像のアルバム(フォルダ)のルックアップを行い、選択すると、スライドショーのような方法で表示します。すべての情報はXMLファイルに含まれているため、データベースは必要ありません。 私の目標は、アプリケーションをできるだけ自己完結型にすることです。

私はDjangoを見てきましたが、私のアプリケーションでは気が散って過酷ですが、私の他の選択肢は何ですか?

ありがとうDarrell。

+0

:http://wiki.python.org/moin/WebFrameworks – jfs

+0

あなたは、Webアプリケーションをよろしいですか?あなたがデスクトップアプリケーションを作成しているように思え、Pythonは多くのGUIツールキットと互換性があります。 [tk](http://docs.python.org/2/library/tk.html)にバンドルされており、[GTK](http://www.pygtk.org/)、[qt]( http://www.riverbankcomputing.co.uk/software/pyqt/)と[wx](http://www.wxpython.org/)を参照してください。 さらに、[camelot](http://www.python-camelot.com/)のようなツールキットは、迅速なアプリケーションプロトタイプ作成を非常に簡単にします。 –

+0

私はアプリケーションをクロスプラットフォームにしたいと考えています。それはモバイルデバイスでも動作するはずです。 – DeChinees

答えて

11

はあなたがweb.pyで見たいと思うかもしれません。この http://flask.pocoo.org/

from flask import Flask 
app = Flask(__name__) 

@app.route("/") 
def hello(): 
    return "Hello World!" 

if __name__ == "__main__": 
    app.run() 
+0

これを試してみます。すべてのヒントをありがとう。 – DeChinees

+0

+500 ......... :) –

+0

はいありがとう:) –

3

あなたはただ一つのpythonファイルであり、不必要な洗練せずにあなたのウェブ取扱いのほとんどを与える、Bottleのように、単純な何かを試すことができます:あなたはpythonでフラスコを使用しない理由

from bottle import route, run, template 

@route('/hello/<name>') 
def index(name='World'): 
    return template('<b>Hello {{name}}</b>!', name=name) 

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

私が聞いたことから、ApacheなどのWSGIハンドラの下にボトルアプリケーションをマウントすることも可能であるはずです。したがって、ラップトップ上の単一のBottleファイル(独自のHTTPサーバーコードを使用してスタンドアロンで実行)を使用してアプリケーションをプロトタイプ化し、それを実際のサーバーに展開する必要があります。特に、内部ユーティリティの用途はほとんどありません。 –

2

を見てみましょう。ここでのHello Worldの例がある

import web 

urls = (
    '/', 'index' 
) 

class index: 
    def GET(self): 
     return "Hello, world!" 

if __name__ == "__main__": 
    app = web.application(urls, globals()) 
    app.run() 
2

チェックアウトCherrypy

import cherrypy 
class HelloWorld(object): 
    @cherrypy.expose() 
    def index(self): 
     return "Hello World!" 
cherrypy.quickstart(HelloWorld()) 

これは私のすべてのwebアプリケーションでの3年間のためにそれを使用するので、シンプルでpowerful.Iです。

10

数多くのオプションがあり、2,3日間で非常に簡単にピックアップできます。あなたが選んだのはあなた次第です。もともとFriendFeedので開発された、PythonのWebフレームワークと非同期ネットワーキング・ライブラリー:

Tornado:ここ

は言及する価値があるいくつか。

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__": 
    application.listen(8888) 
    tornado.ioloop.IOLoop.instance().start() 



Bottle:Python用、高速でシンプルかつ軽量なWSGIマイクロウェブフレームワーク。これは単一のファイルモジュールとして配布され、Python標準ライブラリ以外の依存関係はありません。

from bottle import route, run, template 

@route('/hello/<name>') 
def index(name='World'): 
    return template('<b>Hello {{name}}</b>!', name=name) 

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



CherryPy:ミニマリストのPythonのWebフレームワーク

import cherrypy 
class HelloWorld(object): 
    def index(self): 
     return "Hello World!" 
    index.exposed = True 

cherrypy.quickstart(HelloWorld()) 



Flask:フラスコはWERKZEUG、神社2と善意に基づくPython用マイクロフレームです。

from flask import Flask 
app = Flask(__name__) 

@app.route("/") 
def hello(): 
    return "Hello World!" 

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



web.py:それは強力であるほど単純であるPython用のWebフレームワークです。関連

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() 
関連する問題