martes, 20 de marzo de 2012

Django - Sincronización con la base de datos

Ya teniendo instalado django y todo bien configurado, una de las cosas que debemos hacer es configurar la base de datos con la que empezaremos a trabajar. Si no es así pueden ver este artículo: ARTICULO. La verdad que indicar estos parámetros es sumamente fácil, lo que debemos hacer es ingresar a la carpeta de nuestro proyecto y luego ingresar al archivo settings.py, en el cual debemos buscar el siguiente código:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': '', # Or path to database file if using sqlite3.
        'USER': '', # Not used with sqlite3.
        'PASSWORD': '', # Not used with sqlite3.
        'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '', # Set to empty string for default. Not used with sqlite3.
    }
}

Este es el códigoo que debemos modificar, es muy simple:
  • engine: motor de la base de datos, mysql, postgres, etc.
  • name: nombre de la base de datos, debe estar creada con anterioridad.
  • user: nombre de usuario de la base de datos.
  • password: contraseña de la base de datos.
  • host: dirección del host, normalmente localhost o 127.0.0.1.
  • port: este es el puerto de conexión de la base de datos, si usas mysql es 3306.
Un ejemplo simple de una conexión a mysql puede ser el siguiente:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'django', # Or path to database file if using sqlite3.
        'USER': 'root', # Not used with sqlite3.
        'PASSWORD': '', # Not used with sqlite3.
        'HOST': 'localhost', # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
    }
}
Debemos tener en cuenta que los datos que ingresamos deben estar entre las ' ' (comillas simples), por ejemplo: 'root'.

Ahora guardamos y salimos del archivo, lo que debemos hacer ahora es sincronizar nuestro proyecto con la base de datos:
python manage.py syncdb
Si nos da un error parecido a esto:
Error loading MySQLdb module: No module named MySQLdb
Lo que debemos hacer es instalar python-mysqldb
$ sudo aptitude install python-mysqldb
Si no existen problemas nos empezará a hacer una serie de preguntas para configurar el superusuario.
Ahora simplemente ingresamos a ver nuestra base de datos y veremos que la db ya no está vacia.

1 comentarios:

Ese problema me da en Windows, no me sincroniza, me sale error con mysql a pesar que tengo instalado el conector

Publicar un comentario