2009-12-06 13 views
6

Voglio creare un'applicazione web Python molto semplice. Non ho bisogno di Django o di qualsiasi altra struttura web come quella. Non c'è un modo più semplice per creare un'applicazione web in python?Applicazione web Python

Grazie

+2

Duplicato: cercare "[Python] app web semplice" prima di postare. Ci sono un centinaio di risposte alla tua domanda qui: http://stackoverflow.com/search?q=%5BPython%5D+simple+web+app. Esempio: http://stackoverflow.com/questions/1641616/python-and-web-development –

+0

se dichiari ciò che non ti piace riguardo a django, potrebbe essere più semplice raccomandare alternative. – tosh

risposta

3

WSGI è probabilmente quello che stai cercando. Sebbene ci siano diversi python leggeri web frameworks attorno ai quali sono meno monolitici di django.

5

Sicuro! For example,

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

questa è una web app - se si salva in un file in un apposito elenco di una macchina che esegue un server Web e di impostare la configurazione del server corretto (a seconda del server); l'articolo che ho indicato mostra in modo specifico come distribuire questa app Web su Google App Engine, ma praticamente qualsiasi server Web può servire alle app CGI e questo è un semplice esempio di ciò.

Naturalmente CGI ha i suoi limiti e puoi usare approcci più sofisticati (ancora a corto di framework!) Come WSGI (anche universalmente supportato, se non altro perché può essere eseguito su CGI - ma in la maggior parte dei casi è possibile anche implementarlo in modi più avanzati) e possibilmente alcune delle molte utility eccellenti components che è possibile distribuire con WSGI per risparmiare lavoro nella codifica di alcune parti delle app.

10

Se non avete bisogno di Django, provare 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

La verità è che si ha bisogno di un quadro di qualche tipo, anche se è estremamente minimale. Puoi usare WSGI come base e almeno stai facendo un po 'meglio. Python è un linguaggio di programmazione molto potente, molto aspecifico, quindi se decidi di farlo senza un framework dovrai riscrivere enormi quantità di codice che potresti dare per scontato.

Se decidi di andare con qualcosa di diverso da Django prova this list e forse troverai qualcosa di abbastanza semplice da farti sentire bene. :)

0

Yep WSGI ...

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

Se volete astratto questo in termini di richiesta/risposta per ottenere un po 'più lontano da http provare 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

Io uso bottle tutto il tempo come un framework web minimale. È molto semplice da usare.

come un esempio minimo - tratto dal sito web:

from bottle import route, run 

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

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

si url semplicemente associato (percorso) per funzioni. Questo ottiene anche un argomento opzionale. Ha un linguaggio opzionale per la modellazione della luce e puoi adattarlo molto alle nostre esigenze. Molto potente.

È anche molto semplice da installare, poiché si presenta come un singolo file, posizionato lungo l'app, ed è puro python compatibile. È anche molto facile eseguire il debug, con un bel caricamento automatico su modif mentre è in modalità sviluppo.

Come un vantaggio finale, funziona senza problemi sotto pypy - fornendo così un aumento di velocità su altri framework.

0

Ora è meglio usare PhusionPassenger Standalone o NGINX con la stessa tecnica di PHP passandola a FastCGI in caso di PHP e WSGI per Python.

L'URL e tutto spiegazione per passeggero può essere trovato: Here

Tutte le informazioni su Python in esecuzione su Nginx sopra FastCGI, uWSGI o Passenger

A proposito di quadri che avvolgono Python per lo sviluppo Web più facile Vi consiglio Django se è un'applicazione più grande e una volta capito, Django non è poi così difficile.

Buona fortuna!

0

Puoi provare ad Appier (https://github.com/hivesolutions/appier). Ecco un'applicazione di esempio:

import appier 

class HelloApp(appier.App): 

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

HelloApp().serve() 

Ed ecco come lo si esegue:

pip install appier 
python hello.py 

Diniego: Questo quadro fa parte del portafoglio di open-source della mia azienda. Abbiamo costruito la struttura per rendere il codice per il nostro lavoro di consulenza il più semplice e pulito possibile (per migliorare la nostra efficienza). Il progetto è molto attivo, poiché usiamo sempre il framework, tuttavia, l'avvertenza è che abbiamo solo iniziato a parlarne pubblicamente di recente, quindi non c'è ancora una comunità attorno a questo. Tuttavia, proprio per questo motivo, siamo molto disponibili a collaborare strettamente con gli sviluppatori di early bird per migliorare la nostra documentazione e aggiungere nuove funzionalità.

Problemi correlati