26

¿Flask o Django para desarrollo web con Python?

24016Puntos

hace 5 años

Flask es el micro framework minimalista, rápido y ligero que debes aprender; Django es el framework web más famoso.

Qué es Flask

Flask es un framework que permite desarrollar aplicaciones web de forma sencilla, está especialmente guiado para desarrollo web fácil y rápido con Python.

Explora con Platzi nuestros cursos de programación en python.

Una de sus características a destacar es el potencial de instalar extensiones o complementos acorde al tipo de proyecto que desarrollarás. Sólo instalas las funcionalidades que en realidad vayas a utilizar.

Qué es Django

Django fue diseñado para trabajar bajo un patrón MVC (modelo, vista, controlador), aunque es también definido como MVT (modelo, vista, plantilla) porque el framework se encarga del manejo de controladores, razón por la cual se dice que es reusable y permite el desarrollo ágil, una de las razones que generar su popularidad.

Comparación de ambos frameworks

Veamos un Hola Mundo en cada framework

Hola mundo en Flask:

from flask import Flask
app = Flask(__Name__)

@app.route("/")defhello():return"Hola mundo desde Flask! ¿Corto y directo al punto no?"if __name__ = "__main__":
	app.run()

Hola mundo desde Django:

import textwrap

from django.http import HttpResponse
from django.views.generic.base import View

classHomePageView(View):defdispatch(request, *args, **kwargs):
		response_text = textwrap.dedent('''\
		<html>
			<head>
				<title>Hola mundo desde Django</title>
			</head>
			<body>
				<h1>Hola platzi desde Django!</h1>
				<p>¿Mucho código para algo tan simple no?</p>
			</body>
		</html>''')

A simple vista podemos notar que Flask es más sencillo, y se utilizó una menor cantidad de líneas de código. Tener menos líneas de código ayuda a una mejor lectura y compresión del proyecto.

Flask sigue una regla "Hacer solo una cosa, pero hacerla bien".

Si te interesa profundizar tus conocimientos en Flask y Django, puedes revisar nuestros cursos de desarrollador web.

Diferencias entre Django y Flask

El REST framework de Django cuenta con un sistema de autenticación de usuarios, mientras que Flask puede usar las opciones nativas para crear un sistema de autenticación básico, aunque se puede crear un sistema de login API con Flask-HTTPAuth.

Ambos frameworks permiten un backend limpio en manejo de usuarios, pudiendo limitar memoria y velocidad para evitar caídas en el servidor.

Las API’s que genera Django REST son mucho mejores, pudiendo estos convertirse fácilmente en páginas HTML como puntos finales. Esto significa hacer solicitudes GET y POST fácilmente, algo que en Flask está más condicionado.

La velocidad de Flask es un gran punto a su favor. El desempeño en velocidad que tiene Flask es superior gracias a su diseño minimalista en su estructura.

Conviértete en un experto en desarrollo web con Python fácil, rápido y con una interfaz amigable como lo es Flask el micro framework minimalista, ligero y lo mejor de todo es que Platzi tiene un curso muy bueno con el cual aprenderás a usarlo en platzi.com/flask.

Sé ese desarrollador que marque la diferencia creando la aplicación web con Flask que revolucionará el mercado.

Daniel
Daniel
danestves

24016Puntos

hace 5 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
8
15732Puntos
from django.http import HttpResponse
from django.views.generic import View

classHomePageView(View):defget(self, *args, **kwargs):return('"Hola mundo desde django! ¿Corto y directo al punto no?')

esto mas corto, que el código feo que tienes :3

2
24016Puntos
5 años

¡Buenísimo, muchas gracias por darnos otro punto de vista!

6
1467Puntos
5 años

Lamentablemente por el articulo pero se noto mucho que el ejemplo del código en Django fue hecho feo y complejo deliberadamente. Como lo demostró jysa65 escribir código en django puede ser tan fácil y directo como en flask. Por otra parte dependiendo de la aplicación a crear, lo que django entrega ya listo como el manejo de usuarios hace que todo sea más rápido y fácil, de hay que sea tan popular, y hablando de velocidad, django no tiene nada que envidiarle a flask.

6
from flask import Flask
app = Flask(__Name__)

@app.route("/")defhello():return"Muy buen post! entendí claramente el potencial de cada uno de ellos."if __name__ = "__main__":
	app.run()
4
21626Puntos

Al tener un proyecto hecho e inicialmente diseñado en Flask ¿Se hace muy complicado migrarlo en Django? ¿Tiene sentido migrar algo minimalista a lo más complejo de Django? Saludos y buen post.

3
24016Puntos
5 años

No es complicado migrarlo para nada, si tiene mucho sentido porque yo puedo tener mi API hecha solo con Flask y luego si yo quiero puedo migrar a tener toda la APP completa a Django.

5
1467Puntos
5 años

Estimado darvin_orozco, no partas de la idea que django es complejo, de hecho es muy fácil de usar. El tema de complejo puede venir solamente de que trae de forma predeterminada varios módulos que tal vez no vallas a utilizar, pero eso tampoco quiere decir que debas usarlos forzosamente para que tu aplicación funcione. Si te aprendes como funciona el modelo MVT el resto es muy fácil. Te recomiendo si que partas desde la versión 2.0 en adelante ya que desde hay simplificaron mucho el tema de rutas.

2
6009Puntos

Hola,

Solo quería comentar que los ejemplos que pusiste no son muy comparables entre ellos.

Si, flask tiene una menor carga de código, pero a medida que un proyecto crece, django va ganando ventajas gracias a su filosofía “no te repitas”. En proyectos orientados a contenido como un CMS, Django le da mil vueltas, así que depende mucho del propósito.

Para desarrollar APIs y servir una SPA yo recomendaría FastAPI por sobre cualquiera de estas dos opciones.

1

Un pésimo ejemplo ! señal que no sabes django, se entiende porque eres novato, te hace falta mucho. Los dos son buenos. Platzi academy es una jalada !

from django.http import HttpResponse

defhomePageView(request):return HttpResponse(“Hello, World!”)
1

from django.http import HttpResponse

def homePageView(request):
return HttpResponse(“Hello, World!”)