Alexander A. E.Django developer

Webscrapping básico con Python - I

Publicado el 13 Feb 2019

¿Qué es webscrapping?

Es una técnica utilizada mediante programas de software para extraer información de sitios web. Usualmente, estos programas simulan la navegación de un humano en la World Wide Web ya sea utilizando el protocolo HTTP manualmente, o incrustando un navegador en una aplicación.1

Entre algunos tipos de contenidos que podríamos necesitar extraer tenemos a:

  • listados de noticias o empleos
  • lista de productos, sus imágenes y precios
  • relación de libros
  • otros

A modo de ejemplo, extraeré contenido de …

Instalar y configurar ModPageSpeed en nginx

Publicado el 18 Sep 2018

Hoy estuve investigando cómo mejorar el puntage de Google PageSpeed Insights, el cual es una página de google que mide la velocidad de carga de un website además de brindar algunas recomendaciones para mejorar dichas estadísticas.

Investigando encontré ModPageSpeeed un módulo para nginx (y apache) que realiza varias de aquellas optimizaciones, algunas como:

  • Minificar el html
  • Unificar archivos css o js
  • Convertir formatos de imágenes (como de jpg a webp si el navegador lo soporta)

Instalación con nginx (ubuntu server …

Cómo hacer un form field de solo lectura en django

Publicado el 22 Jun 2018

Para hacer un "Form Field" de solo lectura basta utilizar el atributo "attrs" de los widgets y agregar la propiedad readonly como en el siguiente ejemplo:

Antes:

from django import forms

class CommentForm(forms.Form):
    name = forms.CharField()

Después:

class CommentForm(forms.Form):
    name = forms.CharField(
        widget=forms.TextInput(attrs={'readonly':'readonly'})
    )

Observación:

Notemos que cuando un input es de solo lectura, el usuario no puede modificarlo pero se sigue enviando en el formulario.

Para desactivar el envío totalmente se …

Implementar un sitemap en django

Publicado el 24 Apr 2018

Continuando con un proyecto personal, esta vez tuve que implementar un archivo sitemap.xml.

¿Qué es el archivo sitemap.xml?

Es un archivo que los indexadores o "search engines" como google o bing utilizan para descubrir las páginas en nuestros websites. Ya que si bien los buscadores pueden "escanear" nuestra página sin ayuda hay casos en los que se recomienda incluir un sitemap (ver sección de "Información adicional").

¿Cómo implementar un sitemap en django?

Django cuenta con una aplicación oficial …

Descargar un archivo y grabarlo en un FileField

Publicado el 19 Apr 2018

Estoy desarrollando un proyecto en django y uno de los módulos debe consultar un API externo y descargar imágenes para almacenarlas en un modelo.

Mi dilema fue:

¿Cómo descargar un archivo y almacenarlo en un modelo de django?

En resumen mi caso fue el siguiente:

1. Me conectaba al API de un tercero para obtener cierta información. Yo enviaba un identificador del producto, un código.

2. El api me retornaba campos como: nombre e imagen (una url)

3. Para no …

123456789