2009-12-06 18 views
6

Quiero crear una aplicación web de Python muy simple. No necesito Django ni ningún otro trabajo web como ese. ¿No hay una forma más simple de crear una aplicación web en python?Aplicación web de Python

Gracias

+2

Duplicado: busque "aplicación web simple [Python]" antes de publicar. Hay cien o más respuestas a su pregunta aquí: http://stackoverflow.com/search?q=%5BPython%5D+simple+web+app. Ejemplo: http://stackoverflow.com/questions/1641616/python-and-web-development –

+0

si dice lo que no le gusta con respecto a django, podría ser más fácil recomendar alternativas. – tosh

Respuesta

3

WSGI es probablemente lo que usted está buscando. Aunque hay varias python ligeras web frameworks alrededor de las cuales son menos monolíticas que django.

5

Sure! For example,

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

se trata de una aplicación web - si lo guarda en un archivo en un directorio apropiado de un equipo que ejecuta un servidor web y configurar la configuración del servidor correctamente (dependiendo del servidor); el artículo que señalé específicamente muestra cómo implementar esta aplicación web en Google App Engine, pero casi cualquier servidor web puede servir aplicaciones CGI, y este es un ejemplo simple de eso.

Por supuesto, CGI tiene sus límites, y puede utilizar enfoques más sofisticados (¡aún corto a un marco!) Como WSGI (también soportado universalmente, porque puede funcionar sobre CGI - pero en la mayoría de los casos también puede implementarlo de formas más avanzadas) y posiblemente algunas de las muchas excelentes utilidades components que puede implementar con WSGI para ahorrarle trabajo al codificar ciertas partes de sus aplicaciones.

10

Si usted no necesita Django, tratar 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 verdad es que usted no necesita un marco de algún tipo, incluso si es muy mínima. Puede usar WSGI como base y al menos lo está haciendo un poco mejor. Python es un lenguaje de programación muy poderoso y poco específico, por lo que si decides hacerlo sin un framework, vas a tener que reescribir grandes cantidades de código que puedes estar dando por sentado.

Si decides ir con algo más que Django prueba this list y tal vez encuentres algo lo suficientemente simple como para sentirte bien. :)

0

Sí WSGI ...

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

Si desea abstracta esto en términos de petición/respuesta para conseguir un poco más lejos de http tratar 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

uso bottle todo el tiempo como un marco web mínimo. Es muy simple de usar.

como un ejemplo mínimo - tomado del sitio web:

from bottle import route, run 

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

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

que simplemente URL asociada (ruta) para funciones. Este incluso tiene un argumento opcional. Tiene un lenguaje de plantillas de luz opcional, y puede ajustarlo mucho para nuestras necesidades. Muy poderoso.

También es muy fácil de instalar, ya que se trata de un único archivo, que se encuentra en la aplicación, y es python puramente compatible. También es muy fácil de depurar, con una buena recarga automática en Modif en el modo de desarrollo.

Como una ventaja final, se ejecuta sin problemas bajo pypy - proporcionando así un impulso de velocidad sobre otros marcos.

0

Hoy en día es mejor usar PhusionPassenger Independiente o con NGINX usando la misma técnica que PHP por proxy pasándolo a FastCGI en el caso de PHP y WSGI para Python.

La URL y toda explicación para pasajeros se encuentran: Here

Toda la información acerca de Python que se ejecutan en Nginx sobre FastCGI, uWSGI o Passenger

Acerca de los marcos que envuelven Python para el desarrollo web más fácil que recomiendan Django si es una aplicación más grande y una vez que te acostumbras, Django no es tan difícil en realidad.

¡Buena suerte!

0

Puede probar Appier (https://github.com/hivesolutions/appier). He aquí una aplicación de ejemplo:

import appier 

class HelloApp(appier.App): 

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

HelloApp().serve() 

Y aquí es cómo lo ejecuta:

pip install appier 
python hello.py 

responsabilidad: Este marco es parte de la cartera de código abierto de mi empresa. Creamos el marco para que el código de nuestro trabajo de consultoría sea lo más simple y limpio posible (para mejorar nuestra eficiencia). El proyecto es muy activo, ya que usamos el marco todo el tiempo, sin embargo, la advertencia es que solo hemos comenzado a hablar de él públicamente recientemente, por lo que todavía no hay una comunidad a su alrededor. Sin embargo, por esa misma razón, estamos muy abiertos a cooperar estrechamente con los desarrolladores de Early Bird para mejorar nuestra documentación y agregar nuevas funciones.