Django es el entorno de desarrollo web para perfeccionistas con límites de tiempo

Django 1.5 ya está aquí

Se acaba de lanzar Django 1.5. La nueva versión incluye interesantes mejoras decritas en las release notes. Éstos son algunos de los aspectos más destacados:

Django 1.5 introduce soporte para un modelo de usuario configurable. El modelo básico de usuario de Django sigue presente, pero ahora el framework soporta especificar nuestro propio modelo y que el sistema de autenticación de Django lo use.

Django 1.5 es la primera versión de Django con soporte para Python 3 (específicamente, Python 3.2 y posteriores). El soporte para Python 3 todavía se considera experimental, pero hay disponible una guía para portar nuestro código a Python 3 y los bugs de compatibilidad con Python 3 se considerarán bloqueantes para futuras versiones.

Django sigue ofreciendo soporte para Python 2 como siempre, la versión mínima para Django 1.5 es Python 2.6.5 pero es muy recomendable usar Python 2.7.3 o superior.

También se ha trabajado mucho en la documentación de Django. La página principal de la documentación ha sufrido un lavado de cara para que se pueda encontrar todo más fácilmente. El tutorial existente tiene algunas reformas, y se han añadido algunos tutoriales nuevos tratando temas como cómo hacer una aplicación que se pueda reutilizar en varios proyectos. La documentación sobre class-based views se ha ampliado de manera significativa para que las vistas basadas en clases sean más fácil de entender y aprovechar.

Publicado por Antonio Melé el Miércoles 27 d Febrero d 2013 | 12 comentarios | Categorías: noticias, versiones

Editar y traducir inline en Django fácilmente

Desde Yaco nos traen las aplicaciones pluggables django-inlinetrans y django-inplaceedit que permiten editar traducciones de templates y objetos de nuestros modelos desde el frontend de nuestro proyecto.

Una vez instalada en nuestro proyecto, django-inlinetrans nos permitirá realizar traducciones inline. Para ello basta con reemplazar los tags de traducción de nuestras plantillas:

{% trans "Hola" %}

por el templatetag itrans:

{% itrans "Hola" %}

De esta forma podremos editar las traducciones de nuestras plantillas directamente desde el frontend de nuestro proyecto.

Por su parte django-inplaceedit nos permitirá editar los campos de nuestros modelos reemplazando sus ocurrencias en nuestras plantillas por el tag inplace_edit. Por ejemplo:

{{ content.description|safe }}

Tendría que ser reemplazado por:

 {% inplace_edit "content.description|safe" %}

django-inplaceedit no sólo nos permite editar campos de texto si no que también soporta la edición de choices, campos booleanos, campos de fecha ó fecha y hora, foreingkeys, relaciones many-to-many, campos de archivo y de imagen, todo ello in-place desde el frontend de nuestro proyecto.

Ambas aplicaciones se pueden ver en acción en el siguiente vídeo:

Publicado por Antonio Melé el Miércoles 11 d Enero d 2012 | 10 comentarios | Categorías: aplicaciones, internacionalización, modelos, pluggables

Vídeo y diapositivas del taller de Introducción a Django

Ya está disponibles las diapositivas y el vídeo del taller de Introducción a Django que realizamos Antonio Melé (@zenxone) y Miguel Araujo (@maraujop) en el Betabeers de Octubre.

Aquí tenéis las diapositivas: Introducción a Django y Ecosistema de aplicaciones Django y apps pluggables.

Y aquí tenéis el vídeo:

Publicado por Antonio Melé el Jueves 20 d Octubre d 2011 | 24 comentarios | Categorías: comunidad, cursos, pluggables, tutorial

Utilizar javascript o CSS en el admin de Django

Es realmente sencillo utilizar javascript o CSS propio en el sitio de administración de nuestro proyecto Django. Para ello podemos añadir en nuestros ModelAdmin los archivos JS o CSS que necesitemos utilizando la clase Media en los modelos de administración. Aquí tenemos un ejemplo:

from django.db import models
from django.contrib import admin

from myapp.hotels.models import Modelo

class ModeloAdmin(admin.ModelAdmin):
    ...
    class Media:
        css = { "all": ("mis_estilos.css",) }
        js = ("/media/javascript/mi_javascript.js",)

admin.site.register(Modelo, ModeloAdmin)

Como el admin de Django utiliza jQuery podemos utilizar la función $(document).ready() de jQuery para que nuestro javascript se ejecute cuando el DOM se haya terminado de cargar. De esta forma nuestro archivo mi_javascript.js quedaría de la siguiente manera:

(function($) {
    $(document).ready(function($) {
         // aquí podemos utilizar jquery / javascript...
         alert('¡Ha funcionado!');
    });
})(django.jQuery);

Publicado por Antonio Melé el Jueves 13 d Octubre d 2011 | 5 comentarios | Categorías: admin, javascript, media