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: [code language=»python»] import datetime date_of_birth = models.DateField(_(‘Date of Birth’), default=datetime.date.today()) [/code] Sin embargo la forma óptima de establecer esta fecha por defecto es empleando el módulo de Django timezone: [code language=»python»] from django.utils import timezone date_of_birth = models.DateField(_(‘Date of Birth’), default=timezone.now) [/code] 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 … Continúa leyendo Fecha por defecto en modelo Django 1.11

Configuración rápida mysql Django para Ubuntu 16 / 14

Enlazar mysql con Django puede dar más de un quebradero de cabeza si no se sigue un orden secuencial de instalación de paquetes. En primer lugar, asegúrate de instalar un servidor de mysql en tu servidor o equipo de desarrollo. Instala tambén libmysqlclient-dev, necesario para conectar python con mysql. [code language=»bash»] sudo apt-get install mysql-server sudo apt-get install libmysqlclient-dev [/code] Ahora instala mediante pip o tu gestor de paquetes python la librería mysqlclient. [code language=»bash»] pip install mysqlclient [/code] A continuación entra en tu proyecto Django y abre el archivo settings.py. En la sección DATABASES, introduce el siguiente fragmento de código: [code language=»python»] DATABASES = … Continúa leyendo Configuración rápida mysql Django para Ubuntu 16 / 14

Forzar conexiones HTTPS en WordPress (sin usar plugins)

Si ya añadiste el prefijo https en las opciones generales de tu wordpress pero aun así algunas páginas se resisten al cambio, puedes modificar el archivo .htaccess (directorio raíz de WordPress) con el siguiente código: [code language=»bash»] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.tuweb.com/$1 [R,L] </IfModule> # END WordPress [/code] Si en tu archivo .htaccess ya tenías algunas reglas, simplemente déjalas bajo las tres nuevas. Por ejemplo, mi .htaccess quedó así: [code language=»bash»] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ http://www.archecode.org/$1 [R,L] RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond … Continúa leyendo Forzar conexiones HTTPS en WordPress (sin usar plugins)

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. [code language=»python»] INSTALLED_APPS = [ ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘tu_app’ ][/code] 2: En models.py de ‘tu_app’ añade lo siguiente: [code language=»python»] from django.db import models from django.contrib.auth.models import AbstractUser class User(AbstractUser): pass [/code] 3: De vuelta en settings.py añade la siguiente línea: [code language=»python»] AUTH_USER_MODEL = ‘tu_app.User’ [/code] (No importa en … Continúa leyendo Crear un modelo de autenticación personalizado en Django

¿Cuál es la dirección IP local de mi router?

La dirección ip local de tu router no es más que la puerta de acceso por la que todos los dispositivos conectados al mismo (tu pc, móvil, impresora o tablet). La mayoría de las veces necesitamos saber esta dirección para arreglar problemas de conectividad o para realizar configuraciones al router. Los pasos a seguir para obtener la dirección son los siguientes: 1. Aunque suene obvio, conectarnos a la red del router. Por ejemplo al WiFi de casa, o por cable directamente al aparato (si sabes hacerlo). En principio con estar conectado al WiFi vas bien. 2. Entra al «símbolo del … Continúa leyendo ¿Cuál es la dirección IP local de mi router?

Añadir un entorno virtual (virtualenv) a Pycharm

Si te encuentras trabajando con Pycharm y a la hora de hacer algún import te encuentras con errores como «Unresolved reference ‘django’«, probablemente se te haya pasado incluir en el path de Pycharm la ruta al entorno virtual con el que estés trabajando. También puede ocurrir que realmente se te haya pasado instalar la dependencia, pero esa es otra historia. Para añadir tu virtualenv simplemente abre tu proyecto con Pycharm, haz clic en File > Settings > Project: nombre_de_tu_proyecto > Project Interpreter > Rueda dentada > Add local > Busca tu virtual env/bin/python > Ok Y listo, ya no debería dar problemas. Continúa leyendo Añadir un entorno virtual (virtualenv) a Pycharm

La mejor forma de insertar código en artículos de WordPress

Una de las ventajas de emplear el servicio de WordPress.com es la facilidad con que se pueden introducir fragmentos de código en artículos para así mostrarlos a tus visitantes, algo que en un wordpress instalado por ti mismo no viene, por alguna razón, por defecto. Sin embargo el sistema que usan en WordPress.com parece ser el de un proyecto open source que un trabajador de Auttomatic (Vipper007) tine publicado en GitHub. La cosa es que resulta que también está, a modo de plugin en la librería de plugins de WordPress.org; tan sólo tienes que buscar SyntaxHighlighter Evolved e instalarlo. Una vez lo instales verás que el funcionamiento se basa en … Continúa leyendo La mejor forma de insertar código en artículos de WordPress

Añadir particles.js en wordpress

particles.js es uno de tantos proyectos open source que puedes encontrar por GitHub. Toda la información sobre el mismo la puedes encontrar haciendo clic aquí, pues el propósito de este artículo es explicar cómo incluirlo en un tema de WordPress. Para incluir dicha librería en tu tema de wordpress vamos a llevar a cabo un par de modificaciones en su código. En primer lugar descargar los siguientes ficheros: particles.min.js, proyecto minimizado. app.js, para configurar todo lo relacionado con las partículas que quieras incluir. Para probar distintas configuraciones haz clic aquí, prueba todo lo que quieras y cuando acabes simplemente descarga el archivo json … Continúa leyendo Añadir particles.js en wordpress

La mejor forma de crear un entorno de desarrollo WordPress en Linux

Para la renovación de esta misma web tuve que desempolvar mis conocimientos en PHP, así como volver a repensar la forma ideal de instalar un servidor Apache en mi Ubuntu Gnome 14.04 con los mods necesarios para llevar a cabo las modificaciones que tenía en mente. No quería usar máquinas virtuales (docker, vagrant, virtualbox, etc) y XAMPP siempre me acaba dando algún que otro quebradero de cabeza al ejecutarlo en Linux. Tras pesar y sopesar las infinitas opciones que gurús de todas las razas y religiones sugieren a lo largo ancho y hondo del ciberespacio, decidí acudir a un viejo conocido: Bitnami. … Continúa leyendo La mejor forma de crear un entorno de desarrollo WordPress en Linux