Tras las Detail View, las vistas más simples de utilizar son las List View. Este tipo de vista nos ayudará a gestionar listas de objetos traídos de la base de datos. Al igual que las anteriores, podemos usarlas con sólo 2 líneas de código. Además, nos va a ayudar crear paginación, seleccionar tamaño de las […]
Archivo de etiqueta: python
Django, vistas basadas en clases (II): Detail View
Hoy vamos a hablar de la vista basada en clases más fácil y simple de usar, Detail View. Esta vista nos permite acceder a un objeto en base de datos y mostrarlo con nuestra plantilla html en, literalmente, 2 líneas. Además tendrá comportamientos básicos asociados. Por ejemplo, si no encuentra el objeto, devolverá un error […]
Django, vistas basadas en clases (I): Introducción
Hace un año publiqué un un tutorial de Django para crear un blog. Django ha avanzado mucho recientemente. Uno de los cambios más importantes que se han producido es en las vistas. Las vistas (views) ahora son clases en lugar de ser funciones. Si queremos podemos seguir usando funciones pero las clases pueden ser muy […]
Threads en Python
Hace unos días, necesité utilizar threading en Python en el trabajo. Como sabéis, soy programador web. Necesitaba ejecutar un programa que suele tardar entre 1 y 4 minutos y tenía que ejecutarse como resultado de una petición web. Evidentemente, no puedo tardar en responder una petición todo ese tiempo, así que lo hice creando un […]
Leer carpetas y archivos con Python
Leer carpetas y saber los archivos que están en ellas es muy sencillo en Python. Vamos a utilizar las funciones listdir, isfile, join y walk. Si queremos ver todo el contenido de un fichero vamos a utilizar la función listdir a la que pasaremos el path del fichero en cuestión: from os import listdir for […]
Comprehension list en Python
¿Conocéis las Comprehension list de Python? Se trata de una forma rápida, limpia y sencilla de crear listas de valores. La idea es sustituir código como este: cuadrados = [] for x in range(10): cuadrados.append(x**2) Por código como este: cuadrados = [x**2 for x in range(10)] En ambos casos el resultado es el mismo. Una […]
Generadores en Python
Hoy quiero mostraros cómo usar generadores en Python. ¿Qué son los generadores? Son funciones que nos permitirán obtener sus resultados poco a poco. Es decir, cada vez que llamemos a la función nos darán un nuevo resultado. Por ejemplo, una función para generar todos los números pares que cada vez que la llamemos nos devuelva […]
Diferencia entre ‘is’ y ‘==’ en Python
Cuando se empieza en Python es bastante frecuente usar como sinónimos los comparadores is y ==. Aunque, en general, suelen funcionar de forma similar sus comportamientos no son exactamente iguales. is devolverá True si las dos variables apuntan al mismo objeto. == devolverá True si los valores de las variables son iguales. Para acabar de […]
Funciones en Python con Caché
Hay ocasiones en las que ejecutamos funciones una y otra vez con los mismos parámetros. Si esas funciones son operaciones matemáticas o accesos a bases de datos pueden llegar a tener un coste computacional o un tiempo de ejecución demasiado elevado. ¿Y si añadimos una caché a nuestra función? En el caso de Python es […]
Programar RSS complejos para Django
Ya os enseñé cómo programar un RSS en Django. Ahora vamos a hacerlo de forma un poco más compleja, pudiendo incluir parámetros en la URL para que las publicaciones en el feed cambien dependiendo de ellos. ####Paso 1: Importamos las clases necesarias Son las mismas que el tutorial anterior. Se tratan de Feed de Django, […]