El libro de Django 1.0

2.5. Configurar la base de datos

El único prerequisito de Django es una instalación funcionando de Python. Sin embargo, este libro se centra en una de las mejores funcionalidades de Django, el desarrollo de sitios web con soporte de base de datos, para esto necesitarás instalar un servidor de base de datos de algún tipo, para almacenar tus datos.

Si sólo quieres comenzar a jugar con Django, salta a la sección Capítulo 20 — pero créenos, querrás instalar una base de datos finalmente. Todos los ejemplos de este libro asumen que tienes una base de datos configurada.

Hasta el momento de escribir esto, Django admite estos motores de base de datos:

  • PostgreSQL (http://www.postgresql.org/)
  • SQLite 3 (http://www.sqlite.org/)
  • MySQL (http://www.mysql.com/)
  • Oracle (http://www.oracle.com/)

Se está trabajando para admitir Microsoft SQL Server y Oracle. El sitio web de Django siempre contendrá la última información acerca de las base de datos admitidas.

A nosotros el que más nos gusta es PostgreSQL, por razones que exceden el alcance de este libro, por eso lo mencionamos primero. Sin embargo, todos los motores que listamos aquí trabajan bien con Django.

SQLite merece especial atención como herramienta de desarrollo. Es un motor de base de datos extremadamente simple y no requiere ningún tipo de instalación y configuración del servidor. Es por lejos el más fácil de configurar si sólo quieres jugar con Django, y viene incluido en la librería estándar de Python 2.5.

En Windows, obtener los drivers binarios de la base de datos es a veces un proceso complicado. Ya que sólo estás iniciándote con Django, recomendamos usar Python 2.5 y el soporte incluido para SQLite. La compilación de drivers puede ser estresante.

2.5.1. Usar Django con PostgreSQL

Si estás utilizando PostgreSQL, necesitarás el paquete psycopg disponible en http://www.djangoproject.com/r/python-pgsql/. Toma nota de la versión que estás usando (1 ó 2); necesitarás esta información luego.

Si estás usando PostgresSQL en Windows, puedes encontrar los binarios precompilados de psycopg en http://www.djangoproject.com/r/python-pgsql/windows/.

2.5.2. Usar Django con SQLite 3

Si estás usando una versión de Python igual o posterior a 2.5, ya tienes SQLite. Si estás trabajando con Python 2.4 o menor, necesitas SQLite 3 — no la versión 2 — desde http://www.djangoproject.com/r/sqlite/ y el paquete pysqlite desde http://www.djangoproject.com/r/python-sqlite/. Asegúrate de tener pysqlite en una versión 2.0.3 o superior.

En Windows, puedes omitir la instalación separada de los binarios de SQLite, ya que están enlazados dentro de los binarios de pysqlite.

2.5.3. Usar Django con MySQL

Django requiere MySQL 4.0 o superior; la versión 3.x no admite subconsultas anidadas ni algunas otras sentencias SQL perfectamente estándar. También necesitas instalar el paquete MySQLdb desde http://www.djangoproject.com/r/python-mysql/.

2.5.4. Usar Django con Oracle

Django trabaja con versiones servidor de Oracle 9i o mas alto, si estas usando oracle necesitas instalar cx_Oracle, usa versiones superiores ala 4.31 pero evita la version 5 ya que tiene un bug el controlador de esa versiòn.

2.5.5. Usar Django sin una base de datos

Como mencionamos anteriormente, Django actualmente no requiere una base de datos. Si sólo quieres usar este como un servidor dinámico de páginas que no use una base de datos, está perfectamente bien.

Con esto dicho, ten en cuenta que algunas de las herramientas extras de Django requieren una base de datos, por lo tanto si eliges no usar una base de datos, perderás estas utilidades. (Señalaremos estas utilidades a lo largo del libro).