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á endjango/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.