El libro de Django 1.0

14.1. La librería estándar de Django

La librería estándar de Django vive en el paquete django.contrib. Dentro de cada sub-paquete hay una pieza aislada de funcionalidad para agregar. Estas piezas no están necesariamente relacionadas, pero algunos sub-paquetes de django.contrib pueden requerir a otros.

No hay grandes requerimientos para los tipos de funcionalidad que hay en django.contrib. Algunos de los paquetes incluyen modelos (y por lo tanto requieren que instales sus tablas en tu base de datos), pero otros consisten solamente de middleware o de etiquetas de plantillas (template tags).

La única característica común a todos los paquetes de django.contrib es la siguiente: si borraras dicho paquete por completo, seguirías pudiendo usar las capacidades fundamentales de Django sin problemas. Cuando los desarrolladores de Django agregan nueva funcionalidad al framework, emplean esa regla de oro al decidir en dónde va a residir la nueva funcionalidad, si en django.contrib, o en algún otro lugar.

django.contrib consiste de los siguientes paquetes:

  • admin: el sitio automático de administración. Consulta los capítulos 6 y 18.
  • auth: el framework de autenticación de Django. Consulta el Capítulo 12.
  • comments: una aplicación para comentarios. Esta aplicación está actualmente bajo un fuerte desarrollo, y por lo tanto, no puede ser cubierta por completo para cuando se publique de este libro. Chequea el sitio web de Django para obtener la última información sobre esta aplicación.
  • contenttypes: un framework para conectar "tipos" de contenido, en que cada modelo de Django instalado es un tipo de contenido aislado. Este framework es usado internamente por otras aplicaciones "contrib", y está especialmente enfocada a los desarrolladores de Django muy avanzados. Dichos desarrolladores pueden hallar más información sobre esta aplicación, leyendo el código fuente que está en django/contrib/contenttypes/.
  • csrf: protección ante un ataque de falsificación de petición en sitios cruzados, en inglés Cross-Site Request Forgery (CSRF). Consulta la sección titulada "Protección contra CSRF" más adelante.
  • flatpages: un framework para administrar contenido HTML simple, "plano", dentro de la base de datos. Consulta la sección titulada "Flatpages" más adelante.
  • humanize: un conjunto de filtros de plantillas Django, útiles para darle un "toque de humanidad" a los datos. Consulta la sección titulada "Haciendo los datos más humanos" más adelante.
  • markup: un conjunto de filtros de plantillas de Django, que implementan varios lenguajes de marcado conocidos. Consulta la sección titulada "Filtros de marcado" más adelante.
  • redirects: un framework para administrar redirecciones. Consulta la sección titulada "Redirects" más adelante.
  • sessions: el framework de sesiones de Django. Consulta el Capítulo 12.
  • sitemaps: un framework para generara archivos de mapas de sitio XML. Consulta el Capítulo 11.
  • sites: un framework que te permite operar múltiples sitios web desde la misma base de datos, y con una única instalación de Django. Consulta la próxima sección, "Sites".
  • syndication: un framework para generar documentos de sindicación (feeds), en RSS y en Atom. Consulta el Capítulo 11.

El resto de este capítulo entra en los detalles de cada paquete django.contrib que no ha sido cubierto aún en este libro.