2013-08-16 15 views
5

Sto costruendo una semplice applicazione web Python e voglio che funzioni da sola come SABNZBD o Couch Patato. Queste applicazioni sono applicazioni web autonome. Cosa usano questi prodotti per servire l'interfaccia web?Opzioni per creare un'applicazione basata su web Python

L'applicazione in costruzione eseguirà una ricerca di album di immagini (cartelle) e quando selezionato, presenterà un tipo di presentazione di diapositive. Tutte le informazioni sono in un file XML, quindi non è necessario alcun database. Il mio obiettivo è rendere l'applicazione più autonoma possibile.

Ho guardato Django e sembra un po 'scoraggiante e eccessivo per la mia applicazione, quali sono le mie altre opzioni.

Grazie Darrell.

+0

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

+0

Sei sicuro di volere un'applicazione web? Sembra che tu stia creando un'applicazione desktop e Python è compatibile con molti toolkit della GUI. È fornito in bundle con [tk] (http://docs.python.org/2/library/tk.html) ed è compatibile con [GTK] (http://www.pygtk.org/), [qt] (http://www.riverbankcomputing.co.uk/software/pyqt/) e [wx] (http://www.wxpython.org/). Inoltre toolkit come [camelot] (http://www.python-camelot.com/) semplificano la prototipazione rapida delle applicazioni. –

+0

Voglio che l'applicazione sia multi piattaforma, e l'idea è che dovrebbe funzionare anche sui dispositivi mobili. – DeChinees

risposta

11

perché non usi pallone in Python?

un'occhiata a questo http://flask.pocoo.org/

from flask import Flask 
app = Flask(__name__) 

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

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

Proverò questo. Grazie per tutti i suggerimenti. – DeChinees

+0

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

+0

sì grazie :). –

3

Si può provare qualcosa di più semplice, come Bottle, che è solo un file python e ti dà la maggior parte della gestione web senza sofisticazione inutile:

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

Da quello che ho sentito dovrebbe anche essere possibile montare un'applicazione di flacone sotto qualsiasi gestore WSGI (come Apache). Quindi dovresti essere in grado di prototipare la tua applicazione utilizzando il singolo file Bottle sul tuo laptop (eseguendolo autonomamente con il proprio codice server HTTP incorporato) e quindi distribuendolo ai tuoi server "reali". Particolarmente utile per piccole applicazioni di utilità interne. –

2

Si potrebbe desiderare di guardare web.py. Ecco l'esempio Ciao Mondo

import web 

urls = (
    '/', 'index' 
) 

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

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

Checkout il Cherrypy:

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

Questo è così semplice e powerful.I usarlo per 3 anni nei miei tutte le applicazioni web.

10

Ci sono molte opzioni e sono tutte molto facili da raccogliere in un paio di giorni. Quello che scegli dipende completamente da te.

Ecco alcuni menzione merita:

Tornado: un framework web Python e la biblioteca in rete asincrona, originariamente sviluppato presso 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: un WSGI micro web-quadro rapido, semplice e leggero per Python. È distribuito come un singolo modulo di file e non ha dipendenze diverse dalla libreria standard 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: un minimalista Python Web Framework

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

cherrypy.quickstart(HelloWorld()) 



Flask: Boccetta è un microframework per Python basata su Werkzeug, Jinja 2 e le buone intenzioni .

from flask import Flask 
app = Flask(__name__) 

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

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



web.py: è un framework web per Python che è tanto semplice quanto potente.

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() 
Problemi correlati