Archivos en MEDIA Django 1.11+ privados (requerir autenticación)

A menudo querremos ofrecer archivos privados en nuestra aplicación Django. La solución más sencilla a esta función es hacer una redirección vía regex a una función que lleve el decorador require_login, de la librería de Django. Dicha redirección deberá ser incluida en … Continúa leyendo Archivos en MEDIA Django 1.11+ privados (requerir autenticación)

Modificar plantilla de Administración en Django 1.11 + (1.8+)

El siguiente snippet pretende ilustrar de forma directa y sencilla cómo funciona el sistema de plantillas que Django incorpora desde la versión 1.8, aplicado a la sobre-escritura de la plantilla de administración. Para detalles técnicos está la fabula documentación de … Continúa leyendo Modificar plantilla de Administración en Django 1.11 + (1.8+)

Fecha de creación y edición automáticas en Django

En Django la fecha de creación y modificación no se añade por defecto a nuestros modelos, como sí ocurre en otros frameworks como Ruby On Rails. La forma más elegante de añadir esta funcionalidad a tus modelos es crear una clase base que herede de models.Model y luego hacer que todos tus modelos hereden de la misma. El resto de nuestros modelos donde queramos tener las fechas de creación y actualización automáticas deberán ser del tipo: Continúa leyendo Fecha de creación y edición automáticas en Django

Enviar archivos multiform | Django Rest Framework

Creé este snippet para un proyecto en el que necesitaba enviar audio a un servidor vía API REST empleando el formato multipart / form data. views.py En el archivo de vistas se encuentra la clase AnswerCreate, que no se encarga ni más ni menos que de crear respuestas de un examen y redirigirlas para almacenarlas debidamente en la base de datos. Dicha clase hereda de CreateAPIView, una clase genérica de DRF sobre la cuál puedes leer aquí, aunque resumiento estipula que sólo podrá ser usada para crear (ni actualizar, ni listar, etc). En nuestro queryset tenemos todas las respuestas actualmente almacenadas en la BD, … Continúa leyendo Enviar archivos multiform | Django Rest Framework

Fecha por defecto en modelo Django 1.11

Existen dos formas de incluir una fecha por defecto en Django. La primera, que había estado empleando en versiones del framework anteriores sería la siguiente: Sin embargo la forma óptima de establecer esta fecha por defecto es empleando el módulo de Django timezone: El motivo tiene que ver con el sistema de zonas horarias que viene por defecto activado en Django. Si se emplea la primera opción, tu aplicación no operará de forma correcta cuando se trate de fechas en distintas partes del mundo o del año (cambios anuales). Continúa leyendo Fecha por defecto en modelo Django 1.11

Crear un modelo de autenticación personalizado en Django

A modo de apunte dejo los pasos a seguir para crear un modelo de autenticación en Django 1.11. No voy a ahondar en ningún detalle ya que estos se pueden encontrar en: https://docs.djangoproject.com/en/1.11/ref/contrib/admin/ https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#substituting-a-custom-user-model 1: Registra la app en la cuál vayas a especificar tu modelo de usuario dentro de settings.py. 2: En models.py de ‘tu_app’ añade lo siguiente: 3: De vuelta en settings.py añade la siguiente línea: (No importa en qué punto del documento la incluyas) 4: Entra en admin.py de ‘tu_app’ y registra la siguiente entrada: 5: Migraciones. Y listo. Continúa leyendo Crear un modelo de autenticación personalizado en Django

Acceder a servidor local Django desde otro ordenador

En esta breve guía explicaré cómo podemos iniciar un servidor de desarrollo (o producción) Django y permitir el acceso a otras máquinas desde tu misma red o el exterior. Para ello iniciamos nuestro servidor de desarrollo Django indicándole que escuche en nuestra interfaz … Continúa leyendo Acceder a servidor local Django desde otro ordenador