2010-04-21 17 views
20

¿Cómo crear un sitio web simple con python?¿Cómo crear un sitio web simple con python?

Quiero decir realmente simple, por ejemplo, aparece el texto "Hello World", y hay un botón "enviar", que (onClick) mostrará un cuadro de jaja "enviar exitosamente".

Quiero comenzar a desarrollar algunas cosas con Python, y no sé por dónde empezar.

+0

AJAX no es (solo) python, también es JavaScript en el lado del navegador. – extraneon

Respuesta

1

¿Por qué no pruebas las cosas de Google App Engine? Le proporcionan un entorno local (que se ejecuta en su sistema local) para desarrollar la aplicación. Tienen un material de introducción agradable y sencillo para poner en marcha el sitio: su ejemplo de "hola, mundo" será trivial de implementar.

A partir de ahí, puede ir con algún otro framework (usando lo que ha aprendido, ya que el material de AppEngine vainilla es bastante estándar para frameworks web de python simples) o continuar con las otras cosas que proporciona Google (como hosting aplicación para usted ...)

+10

-1: enviar un principiante de Python a GAE es como enviar a un estudiante de inglés extranjero principiante a una conferencia sobre cómo evolucionó la jerga a lo largo del siglo: muy interesante, pero no para él. Hay miles de soluciones fáciles de configurar que no requieren estar encerradas en un sistema propietario con herramientas no estándar. –

+1

e-satis :) no, GAE es perfecto –

2

Creo que deberías comenzar con algún tipo de framework web de Python. Para mí, Web2Py es fácil y poderoso. Por supuesto, puede crear sus páginas usando CGI: no se requiere un marco, pero para sitios más complicados no es práctico.

11

Esperaba que se dieran respuestas más elaboradas a esta pregunta, ya que es un tema delicado. El desarrollo web de Python se divide en muchos marcos, cada uno con sus altibajos y cada desarrollador que usa uno diferente. Esto es bastante desafortunado. Lo que debe saber:

  • Use WSGI. No use nada más, WSGI es el último estándar en desarrollo web Python;
  • No se desarrolle directamente encima de WSGI, a menos que realmente tenga que hacerlo (ni siquiera para una aplicación de hello world);
  • usen una estructura que mejor se adapte a sus necesidades:
    • jugaba con Werkzeug (que no es realmente una plataforma, lo llaman un conjunto de herramientas) porque es muy simple pero potente. Te permite trabajar en el nivel de WSGI (también te ayuda a entender cómo funciona WSGI) a la vez que proporciona funciones y ayudantes realmente útiles. En el sitio web de Werkzeug también encontrará tutoriales útiles y cosas por el estilo.
    • Probablemente el marco más popular es Django. Nunca lo usé, pero tal vez haya una razón por la cual es tan popular.

En conclusión, utilizar lo que está más cerca de su corazón.

+0

¿Por qué dices "No uses nada más que WSGI?" si hace esta pregunta, es probable que use un servidor de prueba por un tiempo antes de implementar algo, lo que significa que no necesita preocuparse por esas cosas (al menos no todavía). –

+0

@Luke sí, lo hace. WSGI define la forma en que su aplicación maneja las solicitudes, por lo que debe considerarlo desde la primera línea de código. Y ese "servidor de prueba" tiene que soportar wsgi de alguna manera (por ejemplo, para apache, hay mod_wsgi). Además, Werkzeug (y creo que Python también) viene con un servidor web basado en WSGI incorporado, por lo que puede usar 'run_wsgi (my_app)', por ejemplo, como servidor de prueba. – Felix

3

Como se sugirió Felix, definitivamente use WSGI (mod_wsgi) como su interfaz de puerta de enlace. Es la manera moderna de hacer negocios y el otro contendor principal, mod_python, ya no se mantiene.

Django es una gran opción si desea un marco de calidad de producción completo, pero también tiene el costo de tener una gran sobrecarga y una curva de aprendizaje bastante empinada.

Mi sugerencia es: Tornado!

He encontrado que Tornado hace que sea muy fácil ponerlo en funcionamiento rápidamente. Para ilustrar aquí está el "Hola, mundo" de la documentación de Tornado:

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

En mi opinión, eso habla por sí mismo.

Editar: Es importante tener en cuenta que no tienen para utilizar el servidor web que viene con Tornado. Es plugs very easily into WSGI para ejecutar con cualquier servidor que ya tenga funcionando.

¡Mucha suerte en su búsqueda!

+0

Pero Django viene con un libro en línea en http://www.djangobook.com/es/2.0/ :) – extraneon

+0

Sí, lo hace. Pero tienes que leer el libro para obtener el efecto completo. Amo a Django y lo uso mucho, pero creo que es excesivo para muchas cosas. – jathanism

4

Puede escribir un sitio web con Python en el que el servidor web se implementa en Python, o en el que se llama a Python desde otro servidor web. Si aún no tiene un servidor web configurado, la primera opción es más fácil. La biblioteca de Python incluye un servidor web totalmente funcional, todo lo que tiene que hacer es agregar un par de métodos para responder a las solicitudes.

Para un ejemplo completo de un sitio web utilizando esta técnica sencilla, ver Making a simple web server in Python

Esta técnica puede o no le servirá bien para el desarrollo, los sitios web en producción comercial, pero es la forma más sencilla de P (ython) a W (ebsite).

+0

Eso es mucho más trabajo de lo que este tipo quiere hacer, apuesto. Él quiere una página web, no un servidor web. – bradlis7

+0

@ bradlis7: Vea el enlace. Es mucho menos trabajo implementar un sitio web de esta manera que tratar de instalar y configurar Apache, o cualquier otra cosa, para acceder a Python. Es la forma más rápida de llegar a un sitio web con Python. –

+0

Creo que crear un CGI es igual de bueno. – bradlis7

2

Puede tomar este curso ofrecido GRATIS en udacity Web Development using Python. Este es un buen curso y enseña desde cero utilizando GAE. Al final del curso tendrá un blog completo suyo en la web desarrollado por usted en python.

P.S uno de los instructores es Steve Huffman, fundador de Reddit.

Cuestiones relacionadas