miércoles, 16 de diciembre de 2015

Mi primer modelo en #Django

En una de las últimas entrega sobre lo que estamos aprendiendo a trabajar con #Django mostramos como sincronizar las bases de datos con Django, a partir del lanzamiento de la versión 1.9 el comando:


$ ./manage.py dbsync

deja de estar en funcionamiento y en su remplazo podemos utilizar

$ ./manage.py migrate

Esto es para tenerlo en cuenta de aquí en adelante y saber el traspaso de algunas funcionalidades. Además cabe aclarar que el comando migrate es una simple sincronización de tus modelos hacia tu base de datos. Este comando examina todos los modelos en cada aplicación que figure en la variable de configuración INSTALLED_APPS del archivo settings.py

El siguiente paso es casi inevitable, comenzar a crear nuestro propio modelo de datos para la aplicación creada llamada cursos.

Para ello les propongo editar el archivo cursos/models.py y agregar la siguiente líneas:

from __future__ import unicode_literals

from django.db import models

class Profesor(models.Model):
        nombre = models.CharField(max_length=30)
        apellido = models.CharField(max_length=40)
        email = models.EmailField()

class Curso(models.Model):
        titulo = models.CharField(max_length=50)
        descripcion = models.CharField(max_length=100)
        fecha_inicio = models.DateField()

Como se observa, dos clases creadas Profesor y Curso con sus correspondientes atributos que la describen. Por el momento y solo por ahora vamos a dejar de lado las relaciones e ir siempre por lo más simple de entender y seguir avanzando.

Como información adicional, podemos recurrir a la documentación de Django para conocer todos los Fields que soporta y las características que pueden incluir.

Que es lo que pasa si ahora intentamos realizar nuevamente la migración?

$ ./manage.py migrate
Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  No migrations to apply.

Si fueron atentos a este punto, se habrán dado cuenta que nuestra aplicación cursos no se encuentra dentro de la variable de configuración INSTALLED_APPS y por esa razón al chequear el resto de las aplicaciones y notar que no existe un cambio no lo toma como tal.

Es por ello que agregamos nuestra apps a la variable de la siguiente forma:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'cursos',
)

$ ./manage.py makemigrations
Migrations for 'cursos':
  0001_initial.py:
    - Create model Curso
    - Create model Profesor

Ahora bien, si ejecutamos el comando migrate todo puede resultar como lo esperamos.

$ ./manage.py migrate
Operations to perform:
  Apply all migrations: admin, cursos, contenttypes, auth, sessions
Running migrations:
  Rendering model states... DONE
  Applying cursos.0001_initial... OK

Dejamos hasta aquí así podemos apuntar a nuevos conceptos en las próximas entregas.

Saludos!

lunes, 14 de diciembre de 2015

Nuevo #WordPress 4.4 "Clifford"

Desde hace unos días, el equipo de desarrolladores de WordPress anunció que se encuentra disponible la nueva versión de WordPress 4.4 llamada "Clifford" en honor al trompetista de jazz Clifford Brown.


WordPress 4.4 introduce por defecto el Theme Twenty Sixteen, que no es más que una versión mederna del clásico theme de blogs.

Otra característica que se agrega son las de las Imágenes Responsivas, con la intención de que todas las imágenes que se visualizan desde WordPress tengan la capacidad de ser responsivas y verse bien desde el dispositivo que se visite, ajustándose automáticamente al tamaño que corresponda.


Finalmente cierra con dos características interesantes, la primera tiene que ver con la posibilidad de embeber contenidos de otras webs con simplemente ingresar una URL en el editor cuando vamos a publicar un post, incluyendo título, descripción, icono del sitio y enlace. La segunda es el nuevo WP REST API, tal y como indica la documentación, "esto indica una nueva era en el desarrollo de WordPress".

A pesar que pasaron unos días del lanzamiento, no podía dejar de recomendar que es posible comenzar a jugar ya con WordPress 4.4 "Clifford".

Saludos!

Enlace | WordPress 4.4 "Clifford"

jueves, 10 de diciembre de 2015

Se encuentra disponible #Django 1.9

A principios de Diciembre y luego de 10 meses y medio de trabajo, el equipo de Django anunció la versión final de Django 1.9


En la documentación del proyecto se encuentra en detalle las nuevas funcionalidades y todos los cambios con los que se encuentra esta versión.

Es por ello que desde nuestro punto de aprendizaje, alentamos a todos los usuarios a comenzar a utilizar esta nueva versión. Recuerden que su actualización por medio de pip resulta muy simple al usuario.

$ sudo pip install --upgrade Django
  Downloading Django-1.9-py2.py3-none-any.whl (6.6MB)
    100% |████████████████████████████████| 6.6MB 54kB/s 
Installing collected packages: Django
  Found existing installation: Django 1.8.7
    Uninstalling Django-1.8.7:
      Successfully uninstalled Django-1.8.7
Successfully installed Django-1.9

$ django-admin version
1.9

Django 1.9 junto a las próximas versiones con correcciones será mantenida hasta Abril del 2017, por otro lado hasta aquí se da por finalizado el soporte a Django 1.7, siendo la versión 1.7.11 la última versión correspondiente a la rama 1.7.x y se invita a los proyectos creados sobre esta versión a migrar a versiones 1.8 TLS o directamente a esta nueva versión 1.9

Saludos!

Entradas populares