¿Qué necesito saber antes de aprender desarrollo web con Python?

Lo más importante que debe saber es que escribir y trabajar en sitios web en Python es, con mucho, la forma más efectiva de crecer. A medida que crea cosas, se encontrará con varios problemas únicos y tendrá su propia opinión sobre cuáles son las cosas importantes que debe aprender.

Leer libros de texto, practicar problemas de ejemplo, etc. ayudará, pero la única forma de aprender a hacer algo, cualquier cosa, es practicar lo real. De todos modos, dado que es difícil determinar tu nivel general de habilidad de programación, solo te daré mi opinión sobre el paso a paso que debes seguir. Obtendrá muchas respuestas contradictorias, pero todo eso se puede superar practicando una tonelada. Incluso si no estoy de acuerdo con las otras respuestas, probablemente no estén equivocadas, y para reiterar una vez más, siempre y cuando practiques un montón, tendrás éxito.

Omita los pasos que ya sabe cómo hacer. Al final, repasaré las cosas que necesitas aprender en el camino, pero probablemente las encuentres, no me centraría en ello a menos que descubras que nunca encuentras una razón para hacerlo. Son igual de importantes que las otras cosas. Además, solo tengo una experiencia seria con Django, pero el frasco y web2py también suenan muy bien.

  1. Aprenda los conceptos básicos de programación (usando Python, por supuesto). Hay una clase sólida de python en codecademy para esto. For / while bucles, sentencias if / else, matrices / diccionarios / listas, funciones, objetos vs. clases, etc.
  2. Mira Djangobook – Tutoriales de Python Django. Siga las primeras lecciones hasta llegar a las plantillas.
  3. Comience a aprender diseño y desarrollo front-end. Nuevamente, la clase codecademy es bastante sólida y rápida. Destaco que las lecciones no son tan efectivas como crear sus propias páginas web. Diseñe un par de páginas web como un perfil / biografía para el sitio de su cartera, o simplemente intente hacer una copia de la página de inicio de Facebook. Aprenda Bootstrap (un marco css) y JQuery (una biblioteca JS) en el camino.
  4. Ponga las páginas web que hizo en un proyecto de Django.
  5. Continúe en djangobook al menos a través de los formularios de django. Hasta aquí llegué, pero estoy seguro de que el resto de las lecciones también son valiosas, depende de usted. Cree un formulario de registro e inicio de sesión, tal vez realice un seguimiento de alguna información adicional que la proporcionada por el modelo de Usuario. Esto implicará hacer un nuevo modelo y crear una relación entre ellos.
  6. Aprenda a usar AJAX para pasar datos de frontend a backend, y piense en las ventajas y desventajas entre usar el lenguaje de plantilla frente a usar AJAX para pasar datos.
  7. Practique el uso de llamadas REST de python para hablar con otras API como Facebook o Google. Un buen proyecto es un panel de análisis para redes sociales que muestra sus publicaciones y sus me gusta / comentarios / retweets o lo que sea y las muestra en una página web.

Cosas que querrás aprender en el camino:

  • control de versiones usando git, de la manera correcta. Se ramifica para cada nueva característica y se fusiona una vez que se prueba.
  • pruebas unitarias. Practique escribir sus pruebas incluso antes de escribir su código (vea el desarrollo basado en pruebas)
  • Tan pronto como te sientas cómodo, abandona SQLite y usa postgres. MySQL también funciona, pero a menos que ya lo sepas, solo usa postgres.
  • Configure su aplicación en un servidor en la nube. Puede obtener una instancia gratuita de ubuntu en AWS con EC2. Intente lo mejor que pueda configurarlo para que sea fácil sincronizar las cosas entre su servidor y su máquina local. No solo inicie una nueva aplicación allí y copie / pegue su código.
  • Póngase cómodo con el shell y una aplicación de base de datos como DataGrip de Jetbrains. Necesitará una manera fácil de ver las tablas de su base de datos y ejecutar consultas sobre ellas.
  • Utilice el depurador !!!!!!!! Raramente presiono ejecutar. No solo imprima variables para depurar, puede usar el depurador para ver todos los datos a la vez en cualquier punto utilizando puntos de interrupción.

A partir de aquí, todavía hay mucho que aprender. Pero si comprende (cómo implementar) todo lo anterior, está listo para comenzar a crear aplicaciones serias. Ahora se trata de encontrar problemas y saber dónde buscar soluciones. Además, puede usar python2 o python3, recomendaría comprender la diferencia y tal vez practicar un poco de ambas. Empecé con 2.

PD: No necesita un marco JS como React o Angular. Son muy complicados de aprender e innecesarios para la mayoría de los casos. Si no sabes por qué los usarías, no lo hagas.

Hay dos cosas importantes que debes entender sobre el aprendizaje de Python para el desarrollo web.

  1. Python no es el único idioma que necesitarás aprender. Si viene de un entorno de poca o ninguna experiencia en programación, puede sentirse tentado a emprender Python para el desarrollo web con la impresión de que Python puede hacer casi cualquier cosa. Esto no es cierto en el caso del desarrollo web. Necesitará comprender la administración del servidor HTML, CSS, JavaScript y Linux para crear un sitio web moderno con Python. Python maneja las operaciones del lado del servidor, pero finalmente requerirá diseño web, seguridad y operación del lado del cliente. Aquí es donde entran en juego HTML + CSS, la administración del servidor Linux y JavaScript, respectivamente.
  2. Aprenda Python vainilla primero. Es difícil aprender Python desde cero para el desarrollo web. Los marcos web de Python + que encontrará, como Flask, Django y Jinja2, requieren un puñado de decoradores y colas de formato que no sean Python. Estos pueden ser confusos para diferenciarse del lenguaje Python en sí si los está aprendiendo simultáneamente.

Estas son consideraciones importantes, pero también se aplican a otros lenguajes backend de la web, incluidos PHP, Ruby y Node.

Esto es lo que creo que uno debería saber:

  • Si hay un conocimiento previo del desarrollo web, será de gran ayuda.
  • Especialmente, si sabe cómo construir una página web estática usando HTML, CSS y una página web dinámica usando Javascript.
  • También sería útil el conocimiento fundamental de la conectividad de la página web con bases de datos.
  • Programación orientada a objetos entendiendo como clases, objetos, estructura de datos.
  • La comprensión teórica de lo que es el patrón MVC lo ayudaría aún más.
  • Después de esto, debe explorar diferentes marcos web de Python y ver qué lo hace sentir cómodo.

Tienes que aprender sobre varios conceptos de Python como estructuras de datos y paradigma orientado a objetos en Python. Aprenda estas cosas primero y comience el desarrollo web en Python.

Necesitará conocer el desarrollo front-end. Python solo se usa en el lado del servidor porque el único lenguaje que los navegadores entienden es JavaScript.

Vaya a Free Code Camp y complete el certificado de front-end allí. Esto te llevará varios meses y mucha práctica. Solo quédate con eso y no te rindas.

Una vez que haya terminado con eso, puede usar Python y un marco como Flask o Django para conectarse a una base de datos y procesar solicitudes de clientes.

¡Buena suerte!