Django 1.4 Liberado

Django 1.4 Liberado
Facebook Twitter Flipboard E-mail

La Django Software Foundation ha liberado la versión 1.4 del más famoso (y usado) framework de desarrollo web bajo Python Django 1.4. En esta nueva versión ya no se soporta más la versión 2.4 de Python y la nueva versión mínima de para utilizar el framewrork es la 2.5

Asimismo la DFS (Django Software Foundation) ha anticipado que la versión 1.5 solo soportará Python 2.6 en su camino de soportar Python 3. La nueva versión incorpora nuevas features así como incompatibilidades con versiones anteriores del framework.

Features


Según la página del proyecto, la feature más importante en esta nueva versión es la inclusión de soporte de zonas horarias.

Zonas Horarias

En versiones previas, Django usaba un formato fecha/hora de forma “ingenua“. No existía una asociación con una zona horaria dejando al desarrollador la responsabilidad de interpretar lo que una fecha/hora dada significaba realmente.

En Django 1.4 la información de fecha/hora se almacena en formato UTC en la base de datos y es presentada al usuario traducida a su propia zona horaria en las plantillas y formularios. Este cambio soluciona muchos problemas relacionados con la fecha/hora en Django y era realmente esperado.

Soporte para frameworks de testing en el navegador


Django 1.4 soporta la integración con frameworks de testing en el navegador tipo Selenium. La nueva clase base django.test.LiveServerTestCase permite testear la interacción entre el front y el back end de forma más exhaustiva.

Mejora del layout por defecto y cambios al script manage.py


Esta nueva versión viene con un nuevo layout de proyecto por defecto y una nueva sintaxis para el archivo manage.py usado por el comando startproject. Además han solucionado varios problemas relacionados con la versión anterior de manage.py que causaban doble imports y problemas al pasar de desarrollo a producción y otros.

La nueva sintaxis recomendada para el archivo manage.py es como la que sigue:

#!/usr/bin/env python
import os, sys
if __name__ == "__main__":
     os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")
     from django.core.management import execute_from_command_line
     execute_from_command_line(sys.argv)

Referente a este archivo ha habido más cambios relacionados con la jerarquía de directorios, recomiendo revisar la página de ayuda del proyecto para más información al respecto.

Plantillas de proyecto y aplicación personalizadas


Ahora los comandos startapp y startproject aceptan un parámetro --template para especificar un path o URL hacia una plantilla de proyecto o aplicación personalizada.

Por ejemplo:

django-admin.py startproject —template=/home/genbetadev/projects/web/templates/custom_templates/blogtemplate GenbetadevBlog

En esta nueva release se han incluido muchísimos más cambios que por razones obvias no caben en este post pero recomiendo que le eches un vistazo a la página de cambios del proyecto en su sitio web.

Sitio Web | The Django Project
Más Información | Página de cambios de la versión 1.4 de Django

Comentarios cerrados
Inicio