Alexander A. E.Django developer

Etiqueta: django

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

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 …

Jun
22

Implementar un sitemap en django

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 …

Apr
24

Descargar un archivo y grabarlo en un FileField

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 …

Apr
19

Cómo integrar django y mailgun

Mailgun es un servicio que permite enviar emails transaccionales y emails masivos mediante la integración con su API o via SMTP.

Entre las ventajas de mailgun tenemos:

  • permite monitorizar el estado del envío del email: ¿llegó al destino?, ¿fue rechazado?, entre otros.
  • permite envíos masivos
  • tiene integración con webhooks para eventos como: cuando el recipiente abre el mensaje, abre un enlace, sucede un problema al enviar el email entre otros.
  • permite manejar varios dominios de forma separada para que uno …
Apr
08

Buenas prácticas para escalar Django

Mi resumen de una de las conferencias brindadas en la DjangoCon Europa 2016. Anton Pirker nos introduce en la historia (ficticia) sobre el cómo aparece un problema para escalar un nuevo proyecto con django en la vida real de un desarrollador que no tiene experiencia en la administración de servidores.

Jul
16

Django: Ejemplo de Form + InlineFormset

A modo de práctica con los Form + Formset desarrollaré una aplicación para registrar recetas con sus respectivos ingredientes y procedimientos. El propósito será poder editar todo el detalle de una receta incluidos los ingredientes y procedimiento en la misma pantalla, de modo similar a como se trabaja en el admin de django con los inlines.

Feb
23

123