Cómo usar Python para hacer sitios web

Hay toneladas de marcos web de Python, y cada marco tiene sus propias fortalezas y debilidades. Por lo tanto, es necesario evaluar los requisitos de su proyecto y elegir el mejor de la colección.

A continuación se muestran los tres marcos web más populares en Python.

Django

Django es probablemente el framework web Python más popular y está dirigido principalmente a aplicaciones más grandes. Adopta un enfoque de “baterías incluidas” y contiene todo lo necesario para el desarrollo web incluido en el propio marco. Por lo tanto, no tiene que manejar cosas como la administración de bases de datos, plantillas, enrutamiento, autenticación, etc. Con bastante menos código, puede crear excelentes aplicaciones con Django.

Si está creando candidatos web de rango medio-alto y está bastante cómodo con Python, debe optar por Django.

Pirámide

Pyramid es el framework web Python más flexible y, al igual que Django, está dirigido a aplicaciones de mediana y alta escala.

Si crees que Django aporta demasiada hinchazón a tu aplicación web, usa Pyramid. No lo obliga a usar una única solución para una tarea, sino que le brinda un sistema conectable para enchufarlo de acuerdo con los requisitos de su proyecto.

Tiene las capacidades básicas de desarrollo web como enrutamiento y autenticación, pero eso es todo. Entonces, si desea conectarse a una base de datos para almacenamiento, debe hacerlo usted mismo utilizando bibliotecas externas.

Matraz

Flask es el chico nuevo de la ciudad. A diferencia de Pyramid y Django, Flask es un micro marco y es el más adecuado para aplicaciones a pequeña escala.

Incluso si es nuevo, Flask ha integrado excelentes características de otros marcos. Incluye características como pruebas unitarias y servidor de desarrollo incorporado que le permiten crear aplicaciones web confiables y eficientes.

Crea aplicaciones simples

Al comenzar, no se apresure a crear aplicaciones web pesadas completas. Comience con algo simple como una lista de tareas pendientes.

Esto le enseña cómo el marco maneja las funcionalidades CRUD y las solicitudes HTTP básicas. Además, tendrá una buena comprensión de cómo comenzar con el marco en sí.

Este consejo es igualmente aplicable a programadores avanzados.

Puedo decirte quién está usando Python y exactamente Django para sus aplicaciones web

Algunos de los sitios web y aplicaciones más populares y más utilizados que utiliza todos los días se crean utilizando estas mismas herramientas de código abierto. El éxito de estos muestra el poder del lenguaje Python y el framework Django.

Youtube

Todos conocemos YouTube como el lugar para subir videos de gatos y falla. Como uno de los sitios web más populares que existen, nos brinda un sinfín de horas de entretenimiento en video. El lenguaje de programación Python lo potencia y las características que amamos.

DropBox

DropBox comenzó la revolución de almacenamiento de documentos en línea que se ha convertido en parte de la vida diaria. Ahora almacenamos casi todo en la nube. Dropbox nos permite almacenar, sincronizar y compartir casi cualquier cosa usando el poder de Python.

Quora

Creo que no necesitas ninguna respuesta sobre Quora

Reddit

Reddit es conocida como la página principal de internet. Es el lugar en línea para encontrar información o entretenimiento basado en miles de categorías diferentes. Las publicaciones y los enlaces son generados por el usuario y son promovidos a la cima mediante votos. Muchas de las capacidades de Reddit dependen de Python para su funcionalidad.

Yahoo Maps

Los mapas de Yahoo pueden estar perdiendo la batalla con otros proveedores de servicios de mapas, pero aún tiene algunas herramientas poderosas. El programa de mapas de Yahoo se ejecuta en Python, así como en muchos de sus otros programas.

Pinterest

Pinterest es una herramienta de descubrimiento visual que permite a los usuarios mostrar sus intereses a través de la publicación de imágenes. Los usuarios también pueden seguir y compartir imágenes y contenido de otros usuarios a través del poder de Django.

Instagram

Todos conocemos Instagram como el lugar para compartir tu vida en imágenes. El sitio web de Instagram es un sitio web de Python que permite a los usuarios explorar, encontrar y publicar imágenes.

Spotify

Spotify es una aplicación que te permite buscar, reproducir y compartir música gratis. Con las opciones de una suscripción gratuita basada en anuncios o una suscripción paga gratuita de anuncios, Spotify le brinda acceso a la música que desea. Spotify hace esto con el poder de Python.

NASA

El sitio web oficial de la Administración Nacional de Aeronáutica y del Espacio es el lugar para encontrar noticias, fotos y videos sobre su exploración espacial en curso. Este sitio web de Django puede manejar fácilmente grandes cantidades de vistas y tráfico.

Existe el camino fácil y el difícil. Lo difícil es que, si conoce bien el protocolo HTTP, el material del servidor (y HTML obviamente) y es un muy buen programador con buenas habilidades de Python, crea su marco de trabajo o interfaz con el servidor. CGI, por ejemplo, es una forma antigua (y más lenta) de comunicarse con muchos servidores (Apache, Lighttpd, etc., por ejemplo), Python ya tiene un módulo cgi que se puede importar. Pero esto no es lo ideal … Una mejor opción es investigar el protocolo wsgi (buscar “Python wsgi” en google tiene muchos resultados): este es un protocolo para las comunicaciones Python con servidores ampliamente utilizados. Muchos marcos se basan en esto. Pero esta es la forma más dura, incluso los desarrolladores experimentados tienen miedo de seguir esta ruta, esto es solo para los valientes que hablan Python mejor que su lengua materna y son expertos en seguridad 🙂

De hecho, el 99.99% de los desarrolladores web de Python trabajan con marcos ya creados por personas muy inteligentes y perfeccionados durante largos años por una comunidad de programadores, con solo una simple importación uno tiene todo el poder en las manos sin el riesgo de problemas de seguridad y servidor soporte (de hecho, esto no es solo con Python, cada lenguaje multiusos importante es así, por ejemplo, Ruby tiene algunos marcos que son los Ruby on Rails más populares; Java, Javascript, etc.). Esta es la forma fácil (y sensata) de trabajar, no es necesario reinventar la rueda 🙂 Hay muchos marcos por ahí, ¿cuál es el mejor? – Esto depende mucho de tus gustos y necesidades, y usar esto es como las guerras Ps4 vs Xbox One, católica vs hinduismo, etc. – No me gusta ir por este camino. Cada marco tiene altibajos, fortalezas y debilidades, simplemente eso. Puedo recomendarle algunos, pero tenga en cuenta que es solo una cuestión de preferencia y habilidad con Python.

Antes de Python comencé con PHP. Fue bueno hasta que crecí como programador y descubrí que hay un mundo más grande, quería un lenguaje no solo para la web sino también útil para otras cosas (software de escritorio, análisis de datos, videojuegos, etc.) y más potente para web sttuff. Salté a Python y después de mucho intento y error e investigación comencé a usar el framework Web2py (y aún lo uso para muchas cosas en el trabajo). Probé muchos diferentes y hasta el día de hoy web2py tiene el mejor equilibrio (para mí) entre fácil de usar y potente. Hay marcos de trabajo completos: vienen con muchas cosas ya preparadas (por ejemplo, ORM / DAL para un trabajo más fácil con cosas de base de datos, administrador de sesión y sistema de autenticación prefabricado para inicio de sesión, motor de plantilla y muchas cosas de seguridad pre -implementado, pero estos tienen una curva de aprendizaje más difícil- y hay micro-marcos: marcos con solo las cosas básicas para construir un sitio web, esto los hace fáciles de aprender porque son más livianos y brinda más libertad (puede implementar algunos cosas a su manera), pero necesita escribir muchas cosas desde cero y hacer más trabajo ya que no hay funciones precompiladas como en algunos frameworks fullstack.

Resumen: iniciar un framework fullstack fácil y potente es web2py, pero no es lo mejor para la escalabilidad (por ejemplo, plataformas con miles de millones de usuarios como Facebook), pero para cosas normales es bastante impresionante. Otros ejemplos de frameworks fullstack: Django (este es el más popular) y Pyramid (creo que reddit, un sitio web muy popular y grande, se relacionó y se hizo en este o Pylons, un proyecto hermano), ambos son son muy potentes y se usan en grandes sitios web, pero tienen una curva de aprendizaje mucho más difícil. Creo que web2py es más fácil, pero depende de lo bueno que seas con Python y la programación. Pruebe ambos, lea su documentación y su sitio web, y elija. PD: hay muchos más marcos, estos son solo algunos de los ejemplos más populares.

Para micro-frameworks, mis favoritos son Flask y Bottle. Me gusta mucho Bottle, pero terminé usando Flask más; para comenzar, elegiría Flask, ya que tiene más extensiones / complementos y una comunidad más grande. Flask también se usa en muchos sitios web populares y grandes (Pinteres, algunas partes de Linked-in, y la campaña del sitio web de Obama), por lo que tiene una buena escalabilidad demostrada. Intenta leer documentos de web2py y pruébalo primero, te dará una idea de las cosas básicas que uno trabaja en una web fullstack, luego prueba Flask cuando te sientas cómodo escribiendo todas esas cosas desde cero (Flaks es fácil de comenzar, pero más duro en el largo plazo).

PD: también hay CMS (similar a Drupal / Joomla) en Python, Plone es uno, creo.

Para crear un sitio web con Python, simplemente cree un archivo vacío, coloque el siguiente código dentro de él, .py un nombre con una extensión .py y ejecútelo. Si visita localhost:5000 verá el sitio web. Sí, es solo una página con texto plano, pero sigue siendo un sitio web.

from flask import Flask

app = Flask(__name__)

@app.route('/')

def home():

return "Website content goes here."

if __name__ == '__main__':

app.run(debug=True)

El código anterior utiliza el marco del matraz que proporciona un prototipo de aplicación web escrito en Python. Si no tiene un matraz, puede instalarlo escribiendo pip install flask en la línea de terminal / comando.

Luego, utiliza las funciones de Python para devolver la salida a la URL visitada. En este caso, devolvimos una cadena de Python.

Sin embargo, en la vida real, querrás devolver páginas HTML en lugar de cadenas simples de Python. Para eso necesitarías usar el método render_template . Aquí está el código actualizado:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')

def home():

return render_template("home.html")

if __name__ == '__main__':

app.run(debug=True)

Por supuesto, debe crear un archivo home.html en este caso y que debe ubicarse dentro de una carpeta llamada templates que debe crear en el mismo nivel de directorio con su archivo Python.

¡Ese sería un buen comienzo!

Algunos consejos más:

– Es una buena práctica ejecutar su aplicación dentro de un entorno virtual. Puede crear un entorno virtual utilizando la biblioteca virtualenv:

pip install virtualenv

python -m venv foldername

– Si desea aplicar el estilo CSS a sus archivos HTML, cree una carpeta denominada static en el mismo nivel de directorio con templates . Luego, puede crear subcarpetas (por ejemplo, css, javascript, imágenes, etc.) dentro de esa carpeta y colocar los archivos respectivos dentro de ellas.

Luego los enlaza desde sus páginas HTML más o menos así:

– Por último, debe implementar su sitio web en línea para que otros puedan visitarlo a través de una URL pública. Sugeriría la nube de Heroku. Es relativamente fácil de implementar allí y tienen un plan de alojamiento gratuito junto con planes pagos. Necesitará algunas herramientas para implementar su sitio web de Python y esas son Heroku Toolbelt y Git, y también deberá crear una cuenta de Heroku. Y no olvide establecer el parámetro de depuración en False antes de implementar. Eso mantendrá su aplicación segura.

Editar : he creado un tutorial completo sobre cómo construir un sitio web que ves a continuación con Flask comenzando desde cero hasta implementar el sitio web en la nube de Heroku con git. Aquí está el enlace: Crear un sitio web con Python Flask – PythonHow.com

Hay 3 pasos en el proceso.

1. Aprenderá sobre programación, sintaxis y características del lenguaje, conceptos básicos del protocolo http, cómo funciona un servidor web y cómo intercambiar datos entre el cliente y el servidor. Lea aquí El tutorial de Python, este curso de desarrollo web en línea – Cómo construir un blog – El curso de Udacity es realmente bueno. Cuando lo tomé, era gratis. Puede leer sobre el protocolo http y el intercambio de datos aquí.

2. Aprenderá sobre frameworks como Django que le permiten intercambiar datos entre el servidor web y el navegador y manejar datos en el lado del servidor usando python. Cuando comencé, me gustaba Django: me enseñó el patrón de diseño MVC (Modelo-Vista-Controlador). Sin embargo, una vez que me volví suave con Web-dev como tal, descubrí que Django se convirtió en un cuello de botella. Pone muchas restricciones sobre cómo y qué debería usar. Fue entonces cuando comencé a aprender sobre otras cosas y comencé a usar un marco específico para cada rol y lo uso de maneras más flexibles.

Servidor web: TornadoWeb, webapp2, web2py, cherrypy

Motor de plantillas: Jinja2

Base de datos: SQLite / MySQL | [NoSQL] Redis / CouchDB / MongoDB

Django integra los 3 anteriores juntos y le brinda una solución lista para usar. Algo muy bueno para un principiante. Pero una vez que mejore, es posible que desee o no apegarse a él.

3. Después de sentirse realmente bien de que puede realizar los pasos 1 y 2, frétese porque el sitio que creó todavía se ejecuta localmente en su computadora. Este es el momento en que entra en detalles sucios sobre cómo hacer que su sitio web esté disponible públicamente. Ejecutar su propio servidor detrás de una dirección IP estática es costoso e ineficiente (a menos que su audiencia sea gente en una LAN). Luego buscas varias ofertas de alojamiento web, toneladas de ellas y te atascas con cuál elegir. Oh, ese da un buen precio pero no me permite ejecutar mis aplicaciones. Oh, este me permite ejecutar aplicaciones pero es demasiado costoso. Y mira esto, otro me permite ejecutar mi aplicación y es barato pero no me da acceso completo. Y muchas más cosas desordenadas en las que perderás el tiempo. Pero eventualmente necesitas hacer una elección.

Hasta ahora he probado BigRock, Google App Engine, Heruko, Redhat Openshift y comparado muchos planes y servicios de alojamiento. De todo, he encontrado que AWS es realmente prometedor a largo plazo, mientras que Redhat Openshift es realmente bueno para comenzar de manera flexible para sitios web pequeños (debido a su plan gratuito). Google App Engine es fácil de incorporar, pero luego queda bloqueado con la tecnología y la sintaxis de Google. Hace que sea difícil migrar su sitio web más adelante en el tiempo. Otros planes de hosting cayeron en características insuficientes o demasiado costosas para las características que quería. He escrito un blog sobre cómo comenzar con un sitio web simple con Redhat Openshift. En caso de que esté interesado, lea aquí [Ya no está disponible] Obtenga su propio sitio web gratuito con Red Hat Openshift | Galaxia de Anshul

Existen numerosos marcos para crear sitios web en Python. Una vez que esté familiarizado con Python y la naturaleza general de los sitios web que incluirían el conocimiento de HTTP, HTML, puede continuar utilizando cualquiera de los siguientes para crear sitios web con Python:

  1. Webapp2: un marco simple para comenzar a crear sitios web y usar este marco puede crear fácilmente sitios web y servicios en la nube y alojarlos en el servicio Google App Engine. Siga estos enlaces para obtener más información sobre el uso y el alojamiento: ¡Bienvenido a webapp2 !, Google App Engine
  2. Django – Como Alex Remedios ha mencionado, Django también es un framework web MVC muy popular y ampliamente utilizado para Python. Es muy completo y sigue los principios de diseño web de MVC. Varias opciones de alojamiento también están disponibles para el mismo. Puede obtener más información sobre Django aquí: el marco web para perfeccionistas con plazos, The Django Book (para aprender el uso de Django)
  3. Flask: Flask es un marco simplista para hacer aplicaciones web y sitios web con Python. No tengo una amplia experiencia en su uso, pero por lo que he leído es similar a Webapp2 en muchos aspectos, pero no es tan completo como Django. Pero, es muy fácil de recoger y usar. Frasco (un microframe de Python)

Hasta donde yo sé, estas son las mejores formas de usar Python en la web. Para responder a su segunda pregunta, no es implícitamente posible usar Python en cohesión con el contenido HTML como lo haría con PHP. Sin embargo, hay bibliotecas para hacerlo también como las siguientes:
1. Python Wiki – Desarrollador Digi
2. Karrigell 3.1.1

Si está creando aplicaciones / sitios web extensos, los dos marcos anteriores plantearán problemas importantes al realizar tareas simples.

Resulta que acabo de hacer esto: aprendí Python por el bien de desarrollar una interfaz impulsada por un navegador web para un sistema.

Aprendí Python desde cero y desarrollé el núcleo de mi sistema en el espacio de cuatro tardes, por lo que esto es definitivamente posible, ya que Python es realmente un lenguaje maravilloso.

Estoy de acuerdo con el primer póster (Luis M. González), excepto que
Javascript no es necesario a menos que planee usarlo en el navegador
funcionalidad Para mí, la mejor curva de aprendizaje ha sido (ya conozco HTML y CSS, así que comenzando después de eso):

1. Escriba el programa como un script CGI (google esto si no sabe lo que es). Si bien esta es técnicamente la peor forma de escribir un programa web (es lento, a menudo inseguro, y hay que reinventar mucho la rueda), es conceptualmente la más fácil de entender y le brinda la oportunidad de aprender cómo funciona realmente Python, ya que así como una interfaz directa con el navegador.

2. Actualice su script para usar un microframework, como Bottle.py o Flask. Es relativamente fácil convertir un script CGI de esta manera, mientras que tendría que comenzar desde cero para usar un marco completo como Django. Utilice también un motor de plantillas (como Mako o Jinja2).

3. Finalmente, si encuentra que está desarrollando un sistema grande y complejo, use Django. Me parece una muy mala idea ir directamente a usar Django, ya que no tendrá la oportunidad de desarrollar sus habilidades de Python o scripting web.

Hola,

Google, YouTube, Quora: todos están desarrollados en Python. Es un lenguaje de script como Ruby, PHP, Perl y mucho más. Se puede usar para programación web (django, Google App Engine, Zope y mucho más). Pero también se puede usar para aplicaciones de escritorio (Blender 3D, o incluso para juegos de pygame). Puede traducir Python en código binario como java.

Puede usar lo siguiente para construir un sitio web usando Python:

Django

Django es un marco web Python de alto nivel que permite un desarrollo rápido, un diseño limpio y pragmático. Se ocupa de gran parte del agravamiento del desarrollo web. Le brinda fluidez para que pueda concentrarse en escribir su aplicación sin necesidad de reinventar la rueda. Es un código libre y abierto.

Webapp2

Es un marco web Python simple y liviano compatible con la aplicación web de Google App Engine. Sigue la simplicidad de la aplicación web, pero la avanza de alguna manera. Agrega un mejor enrutamiento URI y manejo de excepciones, un objeto de respuesta con todas las funciones y un mecanismo de despacho más flexible.

Matraz

Flask se mide más Pythonic que Django porque el código de la aplicación web Flask es en la mayoría de los casos más abierto. Es fácil comenzar con Flask como principiante porque hay poco código repetitivo para recibir una aplicación simple en funcionamiento.

¡Esperamos que esto te ayude!

En el caso de que desee ensamblar un sitio utilizando Python, puede hacerlo codificando un programa. Utilizando Python, no solo tendrá la capacidad de ejecutar su código en un servidor web, sino que podrá reconocer las demandas de la página y ofrecer reacciones como información HTML. En cualquier caso, esto requiere una gran cantidad de sudor de usted. Sea como fuere, ¡no te preocupes más! Puede evadir toda la tensión utilizando un gran grupo de aparatos fáciles de usar llamados sistemas Python que pueden utilizarse para crear un sitio. Un vistazo a varios marcos web de Python Los ingenieros de Python conocen varios sistemas web que pueden utilizarse para ensamblar sitios. Django, Grok, WebPy, TurboGears, WebApp2, Pyramid y Flask son probablemente los sistemas Python más utilizados que pueden permitirle fabricar un sitio desde cero. El proceso de creación del sitio web: desglosado en pasos simples Cuando se trata de fabricar un sitio, es fundamental que comience desde el pequeño avance. Cuando pruebe el logro con aplicaciones básicas, tendrá talento para continuar y hacer una aplicación innegable y abundante. Al hacerlo como tal, se contarán todas y cada una de las progresiones hacia la mejora del sitio, llenándose como una medida para su avance. Etapa 1: El paso inicial para ensamblar un sitio mediante la codificación en Python es hacer un registro nulo. El registro vacante debe tener el código que lo acompaña y se debe guardar con una extensión .pyex antes de ejecutarlo. El código es el siguiente: de la jarra importFlask app = Flask (__ name__) @ app.route (‘/’) def home (): return “El contenido del sitio web va aquí”. if __name__ == ‘__ main__’: app.run (debug = True) Si ve las órdenes, verá que el código está utilizando la estructura Flask. Este es el código que aparece como un modelo de aplicación web que se crea utilizando Python. Etapa 2: La etapa posterior es ejecutar este código yendo a localhost: 5000. Al hacer esto, tendrá la capacidad de encontrar el aspecto principal de su sitio. A pesar de que esto parece contenido simple en el caso principal, incluso ahora puede llamarlo un sitio. En el caso de que no tenga el sistema Flask, básicamente puede introducirlo ingresando en pip introduce jar en la terminal o invocar incitar. Yendo más allá, utilizará las capacidades de Python para restaurar el rendimiento de la URL de origen. Sea como fuere, como regla general, su motivación es devolver páginas HTML en lugar de cadenas simples de Python. Etapa 3: para potenciar esto, debe continuar con el código que lo acompaña según la técnica de formato de renderizado. from cup importFlask, render_template app = Flask (__ name__) @ app.route (‘/’) def home (): return render_template (“home.html”) if __name__ == ‘__ main__’: app.run (debug = True) Sin embargo, es un hecho que primero debe hacer un registro home.html que debe ubicarse dentro de un organizador llamado formatos. Se debe tener cuidado al hacer este sobre en un nivel de índice similar al de su registro de Python. Este es el enfoque menos complejo y metódico para hacer un sitio utilizando Python. Mientras intenta dar una dirección práctica para crear un sitio utilizando Python, aquí hay algunos consejos útiles que puede utilizar:

Es un movimiento perspicaz para ejecutar su sitio en una situación virtual. Además, para hacer una situación virtual, puede depender de la biblioteca virtualenv: pip introduce virtualenv python-m venvfoldername

Necesitaría sus documentos HTML para mantener el diseño de estilo CSS. Dada esta necesidad, debe hacer un sobre llamado estático en un nivel de índice similar al organizador de diseños. Luego debe hacer subcarpetas con nombres de archivo de CSS y JavaScript dentro del organizador para alojar los registros individuales. La etapa posterior es conectar estos registros desde las páginas HTML ingresando en esta convocatoria de conexión:

Su forma de armar un sitio utilizando Python aún está fragmentada. Su objetivo definitivo es montar su sitio en línea con el objetivo de que los clientes web puedan visitar su sitio a través de una dirección de sitio abierta. Para hacer esto, puedes tomar la ayuda de Heroku Cloud. Para empezar, debe hacer un registro de Heroku para llegar a su disposición de facilitación gratuita. A partir de ese momento, será un viaje fácil ubicar su sitio. Aprovechándose al máximo de instrumentos específicos como Git y Heroku Toolbelt, estará en una excelente posición para enviar su sitio de Python.

El resumen de consejos no termina aquí. Pasando por el dicho de que es “más inteligente estar protegido que estar triste”, otro punto valioso que solicita una especificación única es establecer el parámetro de resolución de problemas en “Falso”. Este inicio debe hacerse antes de que comience el procedimiento de envío. Esta expresión de alerta llegará lejos para mantener su aplicación protegida y segura. Lea más en Python Online Training

  1. Mire (y desconcierte) la gran cantidad de Python Web Frameworks disponibles.
  2. Decida que va a elegir un marco basado en la popularidad y seleccione Django [1].
  3. Frustrarse cuando Django (incluso con las bibliotecas de complementos disponibles) no se ajusta exactamente a su tipo de sitio deseado (después de todo, no está creando un CMS), y decide probar otros marcos.
  4. Decida que ninguno de los otros marcos (incluso los que se ajustan mejor a su uso previsto) son lo suficientemente compatibles / lo suficientemente buenos / lo suficientemente pequeños como para comprender / etc., por lo que decide crear su propio marco que haga exactamente lo que necesita .
  5. Tenga en cuenta, después de mantener su propio marco durante un tiempo, que bueno, tal vez podría liberarlo como código abierto para distribuir la carga de mantenimiento un poco [2].
  6. Tenga en cuenta que mantener un proyecto de código abierto es un trabajo duro, y realmente no está recibiendo mucha ayuda, solo quejas por falta de documentación.
  7. Tenga en cuenta que por el mismo esfuerzo, podría haber agregado documentación o bibliotecas de terceros para un marco existente y podría haber tenido lo mejor de ambos mundos. Elija el marco Pyramid [3] como el proyecto para fusionar con / cambiar a / unirse porque le brinda el mayor grado de libertad.
  8. Ocasionalmente, todavía construye un sitio con Django, porque después de todo, los casos de uso similares a los de CMS para los que está diseñado son bastante comunes y tiene una comunidad grande y activa.

[1] En un momento, la respuesta aquí habría sido Zope o Plone
[2] Observe cómo # 5 contribuye al problema en # 1.
[3] Dependiendo de su caso de uso real, su respuesta aquí podría ser muy diferente, como Flask, Twisted, Tornado o cualquier otro marco web de Python, cada uno con su propio punto óptimo.

No estoy seguro de con qué capa de la cebolla metafórica comenzar … tan alto nivel iremos.

Cómo funciona: (omitiendo capas / detalles / 0’s & 1’s / etc)

Tiene un servicio que se ejecuta en la computadora / servidor (como Apache o nginx). Su computadora / servidor escucha en un puerto la solicitud entrante y esa solicitud se reenvía y se transfiere a su código / marco.

Eche un vistazo a WSGI (Web Server Gateway Interface), toma la solicitud y la pasa a su marco y todo fluye desde allí.

Solía ​​ser que tenía que conectar CGI (Common Gateway Interface) desde cero para que cualquier idioma manejara la solicitud. Una gran cantidad de marcos / guías de configuración hacen la mayor parte de esto por usted o tienen un archivo de configuración simple para editar.

De todos modos, cuando se trata de la configuración, tiene una solicitud, hace algo con el código y prepara una respuesta para servir, ¡un servidor web!

Inserte el idioma que desee, básicamente todos funcionan de esta manera.

Solo he usado un par de marcos de Python (a continuación se encuentran las guías de instalación / documento).
Matraz
Django

Asi que:
Si desea construir algo con python, probablemente solo use un marco. Muchos de los problemas y el trabajo preliminar ya están hechos para usted.

Si se trata más de un “cómo funciona”, entonces podría disfrutar Let’s Build A Web Server. Parte 1. ← ejemplos están en python 🙂

Hay muchas formas de crear sitios web con Python. La primera pregunta que puede hacer es: “¿Qué tan grande es el proyecto de este sitio web?” En otras palabras, “¿Qué quiero que haga este sitio web?”

Una de las primeras cosas que debe aprender en este caso es el sistema de marco Modelo-Vista-Controlador (MVC). No entraré en detalles aquí, pero esencialmente el modelo representa su almacenamiento de datos (es decir, back-end), la vista controla su interacción con el usuario (es decir, front-end) y los controladores ayudan a comunicarse entre los dos. Usualmente (y enfatizo usualmente), un marco basado en Python tendrá las vistas compuestas de HTML, javascript y CSS; los controladores serán archivos de python; y el modelo, si es necesario, será algún tipo de servidor SQL. Los diferentes marcos (por ejemplo, django, pilones, pirámide, cherrypy, frasco) lograrán el marco MVC de manera diferente. Sugiero usar los enlaces en los otros comentarios para obtener un tutorial inicial.

Para responder a su posdata, consulte lo siguiente:
– brew: (Homebrew?) Un administrador de paquetes que ayuda con las instalaciones
– pip: más funciones de empaque e instalación
– virtualenv: ayuda a contener su proyecto dentro de un entorno virtual (obtener esto). Básicamente, si ejecuta un script que arruina su instalación de Python o cualquier otra cosa, al menos no lo estropea para toda su computadora, solo en esa partición.
– django: el nombre del marco basado en python que supongo que está utilizando para crear el sitio web.
– eclipse: el editor de texto (usado junto con Pydev) para que pueda editar su código. La mayoría de las veces, probablemente va a ejecutar cosas desde su Terminal, por lo que otros editores de texto también podrían ser útiles (por ejemplo, TextWrangler, Coda2)

Hola,

puedes usar Python para construir el lado del backend de los sitios web. Para crear sitios visualmente atractivos que sean útiles desde la perspectiva del usuario potencial, necesitará usar también HTML, CSS y probablemente JavaScript.

Cuando se trata de programación de backend, Python ofrece bastantes marcos web potentes:

  • El marco web para perfeccionistas con fechas límite: creo que es el marco web Python más popular, ofrece muchas funcionalidades integradas, por ejemplo, ORM. También hay muchas bibliotecas que pueden integrarse con Django.
  • Frasco (un microframe de Python)
  • Proyecto Pilones: Inicio
  • El marco minimalista de Python WSGI
  • Python REST API Framework

Comience en Google App Engine después de descargar el SDK en Descargue el SDK de Google App Engine (según corresponda para su plataforma) e instálelo, y regístrese para obtener una cuenta gratuita en Iniciar sesión – Cuentas de Google – esto le permitirá comenzar sin problemas ( sin preocupaciones iniciales acerca de cómo ejecutar un servidor web & c) y desde allí aprender gradualmente más cosas específicas de Python, GAE, HTTP, HTML, etc., en el orden que más le convenga. La mayoría de las personas aprenden mejor haciendo cosas en lugar de solo estudiarlas, y este enfoque se adapta solo a la “mayoría de las personas”.

Primero puedes aprender Flask, al menos te recomiendo que lo hagas. Debido a que Flask se llama “Micro Framework”, debe hacer más cosas que Django, etc. Puede que tenga que aprender más cosas que Django, lo cual es importante en su estudio futuro.

Al menos aprenderás cosas como:

0. (No es Python pero tienes que saberlo) ¿Cómo representar una página web? y como decorarlo? (con HTML, CSS y JavaScript)

1. ¿Cómo responder al usuario? ¿Qué significa cómo enviar mensajes a los usuarios? y cómo interactuar con un usuario. (Para mí, implementé una Calculadora usando Python y Flask, los usuarios me envían dos números y un operador y el sitio web me devolverá el resultado. Si desea hacerlo, NO use JavaScript para implementar esto)

2. Cómo almacenar datos generados por el programa (sitio web). Usando RDBMS (Sistema de gestión de bases de datos relacionales, como MySQL y Oracle) o No RDBMS como MongoDB. (Para mí, implementé un sistema de registro e inicio de sesión con MySQL)

FYI: Presentación de Flaskr Flaskr es un buen ejemplo de uso de frasco.

Si decidió aprender Python, olvídese del desarrollo web por un tiempo y concéntrese primero en aprender el idioma.
Python es fácil de aprender, pero debes pararte de pie antes de comenzar a correr.

Python es un lenguaje de programación de propósito general fácil, flexible y poderoso (que es especialmente adecuado para el desarrollo web), pero debe tener en cuenta que para convertirse en desarrollador web debe aprender varias habilidades diferentes además de python.

La primera habilidad básica que debes aprender es HTML.
HTML es el lenguaje de marcado de la web. Todas las páginas web se crean con HTML, que define los diferentes elementos contenidos en una página web.
Luego, debe aprender CSS, que es otro pequeño lenguaje que define la apariencia de cada elemento HTML dentro de una página (su color, el tipo de fuente, su posición en la página, etc.).
Y la tercera habilidad que debes dominar para convertirte en un desarrollador web completo es javascript.
Javascript es un lenguaje de secuencias de comandos, al igual que Python, pero se ejecuta dentro del navegador.
Es una parte fundamental de HTML5 (la nueva encarnación del HTML, que potencia todas las nuevas aplicaciones que se escriben para la web y los teléfonos móviles y tabletas (iphone, ipad, blackberry, etc.).

HTML + CSS + JAVASCRIPT son diferentes partes de toda la plataforma HTML5, y todas funcionan en conjunto para crear una aplicación web completa.

¿Dónde encaja Python?
Aunque puede crear una aplicación web completa con solo HTML, CSS y javascript, es probable que su aplicación necesite acceder a los datos almacenados en un servidor, probablemente una base de datos.
Eso significa que tendrá que escribir el código que se ejecutará en un servidor remoto en lugar de en el navegador.

El lado del servidor es diferente del navegador (o del lado del cliente). En el lado del cliente solo tiene una opción: javascript.
Por otro lado, puede usar cualquier lenguaje imaginable en el lado del servidor.
La gente usa php, java, ruby, python, c #, etc.

Python le permitirá hablar con la base de datos o el almacén de datos, realizar consultas, recuperar información y formatear la salida a su página web.

¿Es posible olvidarse de JavaScript y escribir toda su aplicación en Python?
Sí, y muchos sitios web funcionan de esta manera. Pero se limitaría (y la usabilidad de su sitio web).

Piénsalo:
El código escrito en JavaScript se ejecuta en su navegador (no necesita comunicarse con un servidor distante y esperar la respuesta), por lo tanto, es más rápido y la experiencia del usuario es mejor. Es por eso que las nuevas aplicaciones web HTML5 se sienten cada vez más como aplicaciones de escritorio.
Las aplicaciones escritas completamente en JavaScript que se comunican directamente con la base de datos se conocen como aplicaciones Ajax.

Pero el código escrito en el lado del servidor puede brindarle más seguridad y escalabilidad, por lo que ambos lados deben dominarse para convertirse en un desarrollador web competente.

En cuanto a los marcos de desarrollo web:
Una vez más, por favor, párate primero … Cuando llegues al momento en que necesites un marco, probablemente descubrirás que puedes salir adelante con una solución más simple en lugar de Django.
Django le permite crear toda la estructura de su sitio web en el lado del servidor.

Mi consejo: Olvídate de todas estas cosas, obtén un buen tutorial de Python y aprende (¡y disfrútalo!) Antes de ver todas las otras tecnologías que necesitarás.

En el caso de que espere fabricar un sitio utilizando Python, puede hacerlo codificando un programa. Utilizando Python, no solo tendrá la capacidad de ejecutar su código en un servidor web, sino que también podrá reconocer las demandas de la página y ofrecer reacciones como información HTML. Sea como fuere, esto requiere una considerable cantidad de sudor de usted.

Sea como fuere, ¡no te preocupes más! Puede mantener una distancia estratégica de toda la tensión utilizando un gran grupo de aparatos fáciles de entender llamados sistemas Python que se pueden utilizar para hacer un sitio. Un vistazo a varios marcos web de Python Los diseñadores de Python conocen varios sistemas web que pueden utilizarse para ensamblar sitios. Django, Grok, WebPy, TurboGears, WebApp2, Pyramid y Flask son probablemente los sistemas Python más utilizados que pueden permitirle armar un sitio desde cero.

El proceso de construcción del sitio web: desglosado en pasos simples Cuando se trata de fabricar un sitio, es esencial que comience desde el pequeño avance. Cuando pruebe el logro con aplicaciones básicas, estará dotado para continuar y hacer una aplicación innegable y sólida. Al hacerlo como tal, se contarán todas y cada una de las progresiones hacia el avance del sitio, llenándose como una medida para su avance.

Etapa 1: El paso inicial para ensamblar un sitio mediante la codificación en Python es hacer un documento vacío. El documento vacante debe tener el código que lo acompaña y se debe salvar con una extensión .pyex antes de ejecutarlo. El código es el siguiente: from cup importFlask app = Flask (__ name__) @ app.route (‘/’) def home (): return “El contenido del sitio web va aquí”. if __name__ == ‘__ main__’: app.run (debug = True) Si ve las órdenes, verá que el código está utilizando la estructura Flask. Este es el código que aparece como un modelo de aplicación web que se produce utilizando Python.

Etapa 2: La siguiente etapa es ejecutar este código yendo a localhost: 5000. Al hacer esto, tendrá la capacidad de encontrar el aspecto principal de su sitio. A pesar de la forma en que esto parece contenido simple en la instancia principal, en cualquier caso puede llamarlo un sitio. En el caso de que no tenga el sistema Flask, puede introducirlo ingresando en la jarra de introducción pip en la terminal o incitar el pedido. Yendo más allá, utilizará las capacidades de Python para restaurar el rendimiento de la URL de origen. Sea como fuere, en realidad, su motivación es devolver páginas HTML en lugar de cadenas simples de Python.

Etapa 3: para potenciar esto, debe continuar con el código que lo acompaña según la estrategia de diseño de renderizado. desde jar importFlask, render_template app = Flask (__ name__) @ app.route (‘/’) def home (): return render_template (“home.html”) if __name__ == ‘__ main__’: app.run (debug = True) Sin embargo, es un hecho que primero debe hacer un registro home.html que debe ubicarse dentro de un sobre llamado formatos. Se debe tener cuidado para hacer que este organizador tenga un nivel de registro similar al de su registro de Python. Este es el enfoque más directo y metódico para crear un sitio utilizando Python. Lea más en Python Online Training

Los principales marcos web son Flask y Django.

Frasco: simple, ligero, poco obstinado. Pero no viene con muchas baterías. Por ejemplo, no tiene su propio ORM, tienes que ir a buscar el tuyo, como SQL Alchemy o algo así. Lo cual supongo que no es gran cosa.

Django: Bastante grande, poderoso, bastante obstinado. Bueno para hacer un CRM (que es para lo que fue creado originalmente). Viene con montones y montones de “baterías incluidas”: es decir, tiene su propio ORM, tiene su propio sistema de administración de administrador / usuario, etc. Aunque Django es más grande y complejo, y se necesita un poco más de trabajo para obtener un “hola mundo” “Aplicación web en funcionamiento, en realidad es más amigable para principiantes que Flask porque se topa con menos obstáculos que requerirán que te quedes sin otros paquetes.

También hay otros …

Botella: incluso más ligera que Flask, un micro marco. Muy divertido.

Web2py: similar a Flask

Tornado: nunca probé este, pero aparentemente escala bien.

Creo que deberías averiguar qué tipo de sitio web quieres hacer primero. Estuve en su lugar muchas veces desde que comencé a interesarme por las cosas de la web y siempre quise que fuera dinámico, utilizara bases de datos y todas las campanas y silbatos posibles. Ahora, solo quiero que se implementen lo más rápido y sin dolor posible.

Dicho esto, debes intentar responder estas preguntas:
¿El sitio web necesita una base de datos?
¿Necesita tener usuarios?
¿Necesita usar un motor de plantillas?
¿Importa la velocidad?
¿El contenido es mayormente estático?

Para mis necesidades, voy con un generador de sitio estático llamado Nikola para crear archivos html que se completan desde una base de datos. También puedo crear otras páginas a partir de diferentes tipos de contenido. Mi sitio web será rápido y no se encontrará con posibles errores de la base de datos cuando se acceda porque todo es html. No es para todos, pero es rápido y hace el trabajo.

Sí James tiene mucha razón. Nervioso, eso no significa que el framework Python Todopoderoso no pueda hacer el trabajo. Afortunadamente, existe Python Django. El marco web para perfeccionistas con plazos de entrega se puede utilizar para crear sitios web dinámicos con una interfaz de usuario agradable. También admite html, CSS, java script e incluso Twitter Bootstrap, todos los poderes necesarios para que su sitio web esté en funcionamiento. Como siempre diría que el enfoque que adopte en un software o sitio web de cualquier naturaleza, todo depende de su imaginación y creatividad, incluso podría tener diseños mejores que todos, todo depende de cómo utilice sus herramientas.

Eche un vistazo a esta increíble lista de sitios web codificados con el framework Python Django https://www.djangosites.org y también 25 de los sitios web más populares de Python y Django.

Esto me pareció un recurso útil:
http://www.pixelmonkey.org/2012/06/14/ web -app
Aprenderías mucho al leerlo.

Luis González tiene razón, hay muchas tecnologías que intervienen en la creación de sitios web. Aprenda HTML para marcar, CSS para diseñar y Javascript para crear secuencias de comandos del lado del cliente antes de pensar en Python. There are implementations for using Python in the browser (eg Brython) , but as Gonzalez pointed out, they suck compared to the traditional methods.

Buena suerte !