2013-08-16 15 views
5

Buduję prostą aplikację internetową Python i chcę, aby działała samodzielnie, jak SABNZBD lub kanapa Patato. Te aplikacje są niezależnymi aplikacjami internetowymi. Czego te produkty używają do obsługi interfejsu sieciowego?Opcje budowania aplikacji internetowej opartej na pythonie

Aplikacja im building wykona wyszukiwanie albumów zdjęć (folderów) i po wybraniu przedstawi go w formie pokazu slajdów. Wszystkie informacje znajdują się w pliku XML, więc nie potrzeba bazy danych. Moim celem jest uczynienie aplikacji jak najbardziej autonomiczną.

Spojrzałem na Django i wygląda trochę zniechęcająco i przesadnie dla mojej aplikacji, jakie są moje inne opcje.

Dzięki Darrell.

+0

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

+0

Czy na pewno chcesz aplikację internetową? Wygląda na to, że tworzysz aplikację na komputery i Python jest kompatybilny z wieloma zestawami narzędzi GUI. Jest dołączony do [tk] (http://docs.python.org/2/library/tk.html) i jest kompatybilny z [GTK] (http://www.pygtk.org/), [qt] (http://www.riverbankcomputing.co.uk/software/pyqt/) i [wx] (http://www.wxpython.org/). Ponadto zestawy narzędzi, takie jak [camelot] (http://www.python-camelot.com/), umożliwiają szybkie prototypowanie aplikacji. –

+0

Chcę, aby aplikacja była platformą krzyżową i chodzi o to, że powinna działać również na urządzeniach mobilnych. – DeChinees

Odpowiedz

11

dlaczego nie można używać kolbę w Pythonie?

przyjrzeć się tej http://flask.pocoo.org/

from flask import Flask 
app = Flask(__name__) 

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

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

Spróbuję tego. Dzięki za wszystkie wskazówki. – DeChinees

+0

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

+0

tak dzięki :). –

3

Można spróbować czegoś prostszego, jak Bottle, który jest tylko jeden plik python i daje większość obsługi internetowej bez zbędnej złożoności:

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

Z tego, co słyszałem, powinno być również możliwe zainstalowanie aplikacji butelki pod dowolnym programem obsługi WSGI (takim jak Apache). Powinieneś być w stanie prototypować swoją aplikację za pomocą pojedynczego pliku butelki na swoim laptopie (uruchamiając go samodzielnie z własnym wbudowanym kodem serwera HTTP), a następnie wdrożyć go na "prawdziwym" serwerze (serwerach). Szczególnie przydatny w przypadku niewielkich wewnętrznych aplikacji użytkowych. –

2

może warto spojrzeć na web.py. Tutaj jest przykład 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

kasie Cherrypy:

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

To jest tak proste i powerful.I używając go przez 3 lata w moich wszystkich webapplications.

10

Istnieje wiele opcji i wszystkie są bardzo łatwe do odbioru w ciągu kilku dni. Który z nich wybierzesz, zależy wyłącznie od Ciebie.

Oto kilka warto wspomnieć:

Tornado: ramy web Python i asynchroniczne biblioteki sieci, pierwotnie opracowany na FriendFeed.

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: szybki, prosty i lekki WSGI Micro Web-framework dla Pythona. Jest dystrybuowany jako pojedynczy moduł plików i nie ma zależności innych niż biblioteka standardowa 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: Ramy Minimalistyczny Python Web

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

cherrypy.quickstart(HelloWorld()) 



Flask: Kolba jest microframework dla Pythona na podstawie Werkzeug, Jinja 2 i dobrych intencji .

from flask import Flask 
app = Flask(__name__) 

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

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



web.py: to framework WWW dla Pythona, który jest tak proste, jak to jest potężny.

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() 
Powiązane problemy