¿Cómo se crea una aplicación web Python?

Una aplicación web consta de dos partes, una es el lado del cliente aka. el navegador (o cualquier otra aplicación nativa, AIR, Flash, Flex, etc.) y un servidor. Se comunican a través de TCP / IP utilizando algún protocolo. HTTP (protocolo) es la opción para una aplicación web. Entonces, para hacer una aplicación web, debe codificar estos dos lados.

Se debe tener en cuenta que el servidor también debe servir el contenido que se utilizará en el cliente la mayor parte del tiempo.

Si no sabe cómo funciona la web y cómo se realiza la comunicación entre el servidor y el cliente, eche un vistazo a estos. Algunos enlaces,
Protocolo de Transferencia de Hipertexto
Transferencia de estado representacional

El servidor puede usar lo que quieras. Aquí es donde entra su pregunta sobre Python. La biblioteca estándar de Python viene con una biblioteca HTTP con la que puede escribir de manera efectiva cualquier aplicación web.

Pero para hacerte la vida más fácil, hay muchos más, como Django.

Django es un marco de aplicación web que puedes usar. Es simple con una curva de aprendizaje moderada si tienes experiencia con Python.

También hay un marco web similar al de Django disponible con Google App Engine. Es muy fácil de configurar e implementar. Y no tiene que preocuparse por configurar su servidor.

También hay frasco. Es super simple y muy pitónico.

WebFrameworks – PythonInfo Wiki. Esencialmente, puede usar cualquiera de estos en su servidor.

Si está de acuerdo con el uso de frameworks, continúe y use Django o Flask dependiendo de qué tan bueno sea con Python. Si está desarrollando un producto para una empresa, le sugiero que use algo como Django para que no pierda tanto tiempo haciendo cosas como administración de caché, sesiones, etc., que ya se habrían implementado.

Pero si tienes un poco más de tiempo y puedes permitirte jugar, hay varios.

a) Use un marco minimalista como http://webpy.org/ . La ventaja es la configuración y escribir su hola mundo toma un momento y puede escribir / embellecer su aplicación web de la forma que desee. También te brinda soporte para las sesiones. Y usa algo como bigote para crear plantillas y eres dorado. El aprendizaje es inmenso. Pero la documentación es muy limitada, descubrirá mucho más de lo que se le da fácilmente en la placa. Este es mi favorito personal, pero desafortunadamente el tiempo es una preocupación mayor, así que NO juegues con él a menos que estés bastante seguro con las configuraciones de python y wsgi y un poco de cómo funciona tu sistema operativo. (para caminos y etc.)

b) O puede escribir API REST en Python (Ver Descripción general – wsloader – Guía de inicio rápido para Webservice Loader – Webservice Loader – Google Project Hosting) y hacer llamadas AJAX desde el cliente. Guarde los datos solo para el suministro de datos y juegue con los datos obtenidos en el cliente. Pero cosas como sesiones, etc. pueden ser un poco de dolor de cabeza.

Google App Engine es una plataforma muy fácil de usar para alojar aplicaciones web. Puede usar Python como lenguaje del lado del servidor para alojar prácticamente cualquier página web que desee. Para el final de la fuente, puede usar HTML / CSS / JavaScript.

Es gratis alojar su sitio para una cantidad generosa de tráfico. También escala muy bien. Webapp2 (que es el predeterminado para App Engine) es un marco muy ligero que le permite aprender más sobre el lado de bajo nivel de los sitios web (es decir, gestionar solicitudes, cookies, autenticación, etc.). También es muy fácil de aprender.

De hecho, acabo de escribir una respuesta sobre esta pregunta precisa aquí:

La respuesta de David Cole a ¿Cuáles son los mejores recursos (sitios, libros o tutoriales) para la programación de aprendizaje?

Puede leer eso para obtener todos los detalles, pero la respuesta corta es: Flask (marco de Python). Solo necesita saber un poco de Python y seguir los pocos tutoriales adicionales que enlazo para obtener una aplicación básica, pero muy real, implementada en Heroku.

Introducción a Python Flask

Flask es un marco de Python para crear aplicaciones web. Desde el sitio oficial,

Flask es un microframework para Python basado en Werkzeug, Jinja 2 y buenas intenciones.

Cuando pensamos en Python, el marco de facto que nos viene a la mente es el marco de Django. Pero desde la perspectiva de un principiante de Python, Flask es más fácil de comenzar, en comparación con Django.

Aprenda Python aquí https://hackr.io/tutorials/learn

Configurando el matraz

Configurar Flask es bastante simple y rápido. Con el administrador de paquetes pip , todo lo que necesitamos hacer es:

matraz de instalación de pip

Una vez que haya terminado de instalar Flask, cree una carpeta llamada FlaskApp . Navegue a la carpeta FlaskApp y cree un archivo llamado app.py Importe el módulo de flask y cree una aplicación usando Flask como se muestra:

desde el matraz de importación Frasco
aplicación = Frasco (__ nombre__)

Ahora defina la ruta básica / y su correspondiente manejador de solicitudes:

@ app.route (“/”)
def main ():
volver “¡Bienvenido!”

Luego, verifique si el archivo ejecutado es el programa principal y ejecute la aplicación:

if __name__ == “__main__”:
app.run ()

Guarde los cambios y ejecute app.py :

python app.py

Apunte su navegador a http: // localhost: 5000 / y debería tener el mensaje de bienvenida.

Crear una página de inicio

Primero, cuando se ejecuta la aplicación, deberíamos mostrar una página de inicio con los últimos elementos de la lista de deseos añadidos por los usuarios. Así que agreguemos nuestra página de inicio a nuestra carpeta de aplicaciones.

Flask busca archivos de plantilla dentro de la carpeta de templates . Entonces navegue a la carpeta PythonApp y cree una carpeta llamada templates . Dentro de las templates , cree un archivo llamado index.html . Abra index.html y agregue el siguiente HTML:



Aplicación Python Flask Bucket List

http://getbootstrap.com/dist/css/bootstrap.min.css&quot ; rel =” stylesheet “>

http://getbootstrap.com/examples/jumbotron-narrow/jumbotron-narrow.css&quot ; rel =” stylesheet “>

Aplicación de la lista de cubo

Regístrese hoy

Lista de deseos

Donec id elit non mi porta gravida en eget metus. Maecenas faucibus mollis interdum.

Lista de deseos

Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.

Lista de deseos

Maecenas sed diam eget risus varius blandit sit amet non magna.

Lista de deseos

Donec id elit non mi porta gravida en eget metus. Maecenas faucibus mollis interdum.

Lista de deseos

Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.

Lista de deseos

Maecenas sed diam eget risus varius blandit sit amet non magna.

& copy; Empresa 2015

Abra app.py e importe render_template , que usaremos para representar los archivos de plantilla.

desde el matraz import Flask, render_template

Modifique el método principal para devolver el archivo de plantilla representado.

def main ():
return render_template (‘index.html’)

Para obtener más información, visite: Creación de una aplicación web desde cero utilizando Python Flask y MySQL

Sugiero ir con Django porque puedes hacer muchas cosas en el backend. Es muy fácil de aprender y desarrollar.
También recomiendo South para las migraciones (es decir, cuando modifica la base de datos).
Además de Django, puede tener tastypie, que es una biblioteca increíble que proporciona una API RESTful para la aplicación.
Una vez que los tenga en su lugar, puede comenzar a desarrollar el front-end. Recomiendo esto ¿Cuáles son los mejores frameworks de JavaScript para front-end de aplicaciones empresariales?

Para responder también a su pregunta con más profundidad, Django proporciona un pequeño servidor web (manage.py runsever), pero eso debería ser principalmente para pruebas. En un servidor de producción, puedes usar Gunicorn & dash; Python WSGI HTTP Server para UNIX

1) Decide si realmente quieres.

¿Por qué? Porque si bien Python es un lenguaje maravilloso, sus marcos web más populares: Django, Google App Engine, etc., se centran en el estilo antiguo de las interacciones basadas en páginas, envueltas en bases de datos relacionales o cuasi-relacionales.

Está claro que las nuevas tendencias en el diseño web se centran en que la página sea una aplicación dinámica rica por derecho propio, que envía pequeños fragmentos de datos json hacia atrás y hacia adelante, a menudo para sincronizar un modelo de datos en el navegador con un modelo NoSQL de fondo .

La dirección está claramente indicada en marcos como Meteor, Derby: el marco JavaScript de pila completa para aplicaciones web de próxima generación, etc.

Ciertamente puede hacer tales cosas en Python, pero sospecho que la energía principal en los frameworks web de Python (y de manera similar Ruby on Rails) no está en soportar eso. Y tal vez el lenguaje no sea tan adecuado para él como javascript controlado por eventos del lado del servidor en node.js o algunos lenguajes funcionales que proporcionan el equivalente de las continuaciones.

2) Si realmente eres un principiante y solo quieres aprender lo básico, prueba web.py. (web.py), que es probablemente el marco más simple para comenzar.

Estoy completamente de acuerdo con David Cole, sobre Flask. Recientemente creé una aplicación web simple usando Flask y fue muy fácil de aprender y genial para crear prototipos.

Dicho esto, recomendaría que haga la transición a algo más estructurado una vez que se familiarice con la creación de aplicaciones web con Django o Pylons (Pirámides). Tengo la impresión de que, a menos que tenga mucha experiencia en el desarrollo de aplicaciones web bien diseñadas, las pequeñas decisiones podrían tener un gran impacto a medida que su aplicación crezca en Flask. Por lo tanto, una vez que se familiarice con todas las partes móviles de una aplicación web, puede ser aconsejable pasar a algo en el que se haya realizado parte del trabajo preliminar.

Utilizo Pylons a diario en el trabajo, y es una verdadera alegría usarlo una vez que lo domines. Sin embargo, cuando se me asignó la tarea de crear una nueva aplicación web desde cero que sabía que seguiría siendo pequeña, utilicé Flask. 🙂

Quizás te interese el curso de desarrollo web de Steve Huffman (CS253)

Steve es el creador de Reddit (producto) e Hipmunk, y describe el curso como “las cosas que desearía haber sabido al comenzar esos sitios web”

Si está creando aplicaciones web basadas en bases de datos, puede usar Leo-g / Flask-Skeleton, que le permite crear un andamio CRUD con un comando simple
“publicaciones de python scaffold.py” y creará una aplicación de base de datos para publicaciones

Flask (framework web) es un buen comienzo:

desde el matraz de importación Frasco
aplicación = Frasco (__ nombre__)

@ app.route (“/”)
def hola ():
volver “Hola mundo!”

if __name__ == “__main__”:
app.run ()

Otros frameworks como Django y Zope se utilizan más profesionalmente, pero Flask es sin duda un excelente comienzo.

Incluso yo estaba en una posición como tú, luego me encontré con Django. La curva de aprendizaje es menor y es interesante.
Desarrollé una aplicación junto con mi amigo dentro de 4 meses y ahora mismo, está en producción.
Simplemente vaya a “djangobook”, lo encontrará interesante. Para la interfaz, use twitter-bootstrap, python-crispy-forms.

Si está interesado en el desarrollo frontend, le recomiendo que no use ninguno de los marcos, escriba su propio HTML, JavaScript.

Django y Rails son los frameworks web más populares.
Rails está construido en Ruby y Django está en Python
El marco web para perfeccionistas con plazos.

El primer tutorial que tomará menos de 20 minutos para configurar tendrá un servidor web en funcionamiento en su máquina

Heroku es genial! Python | Centro de desarrollo de Heroku

Sí, al igual que lo que dijeron, le sugiero que use un marco de Python como django o web2py. Te ayudará a desarrollar aplicaciones con python.

Es posible que necesite un marco web Python como django, frasco, botella, etc.