Configurar Postgresql con Django


En esta entrada tratare de tocar como activar el administrador de contenido de django, esto requiere activar la aplicación en el archivo de configuración del proyecto de django y crear la base de datos para esta. Después de seguir los pasos de entrando en onda con django y llevando un proyecto de django a  eclipse, vamos a activar la aplicacion de administrador de nuestro proyecto y a configurar algunas variables de nuestro proyecto pero sin antes mirar como instalar django.

Dentro de la estructura de archivos creados con el comando:

django-admin startproject proyecto

se editan los modulos, urls y settings, dentro de urls este modulo representa una tabla de contenido de todas la paginas que generamos con python:

http://midominio.com/blog/

en nuestro urla se declara que /blog/ representa una aplicación dentro de nuestro proyecto o puede ser una vista que muestre algo de información, por ahora activamos la función de administración :

en la linea 4 y 5 descomentamos y en la  linea 16 descomentamos la url para nuestro adminstrador. Listo ahora vamos a nuestro settings en donde configuramos algunas variables.

en la linea 7 de settings descomentamos y colocamos el administrador del proyecto o administradores, de la linea 12 a la 17 se habla del gestor de base de datos, que en esta oportunidad colocamos postgresql_psycopg2, luego el nombre de la base de datos que en mi ejemplo se llama blog, el usuario de la bd que es postgres, el password que en mi caso por prueba he colocado desarrollo, el host sera local es por eso que se coloca localhost y el puerto que es 5432 para postgresql.

En la linea 24 colocamos donde esta ubicada la aplicación que en nuestro caso es America/Bogota, en la linea 28 se coloca el idioma que es espaniol, es-CO, si se quiere ver mas opciones puedes seguir los enlaces que hay en la linea 20 que es la zona horaria y en la linea el unicode.

de la linea 74 a la 80 se habla de las aplicaciones que se crean para nuestro proyecto, si creamos una blog hay debe estar incluido, se dice instalado, bueno bueno instalamos es decir escribimos la aplicación de administrador al final de la lista, que en este caso es la linea 79.

Luego queda cuadrar la base de datos, nos dirigimos a nuestra terminal y entramos lo siguiente:

jonathanorlando@jonathanorlando-laptop:~/produccion$ sudo su
[sudo] password for jonathanorlando:
root@jonathanorlando-laptop:/home/jonathanorlando/produccion# nano /etc/postgresql/8.4/main/pg_hba.conf

en la lineas anteriores nos volvemos superusuario para administrar el sistema en este caso editar el archivo de postgresql.

al final del archivo encontramos para decirle a postgresql si debe pedir o no password, bueno en donde dice md5 le colocamos trust , menos en la ultima linea, guardamos el archivo con control + x, y reiniciamos postgresql con el comando:

root@jonathanorlando-laptop:/home/jonathanorlando/produccion# /etc/init.d/postgresql-8.4 restart

ahora en modo usuario normal le damos en terminal:

jonathanorlando@jonathanorlando-laptop:~/produccion$ psql -U postgres
psql (8.4.1)
Digite «help» para obtener ayuda.

postgres=#

en donde queda el #, escribimos

postgres=# ALTER USER postgres with password ‘nuevo’;

en donde nuevo es el nuevo passwdor del usuario postgres. luego de cambiar el password creamos una base de datos llamada blog de la siguiente manera:

postgres=# CREATE DATABASE blog;

si ya terminamos damos con el teclado control + d, para salir de psql y volvemos al archivo de configuración y cambiamos a como esta la imagen de arriba y reiniciamos a postgresql.

root@jonathanorlando-laptop:/home/jonathanorlando/produccion# /etc/init.d/postgresql-8.4 restart

ahora con el comando jonathanorlando@jonathanorlando-laptop:~/produccion$ psql -U postgres -W

podremos adminstrar postgresql en terminal, esta parte de postgresql la he tomado de url.

Bueno es hora de probar que funciona postgresql con django, entramos por terminal a donde se encuentra nuestro proyecto de django, estando hay le damos el comando siguiente para sincronizar nuestro proyecto con postgresql:

jonathanorlando@jonathanorlando-laptop:~/produccion/blog$ python manage.py syncdb
Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_admin_log

You just installed Django’s auth system, which means you don’t have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use ‘jonathanorlando’): admin
E-mail address: solosekenadase@gmail.com
Password:
Password (again):
Superuser created successfully.
Installing index for auth.Permission model
Installing index for auth.Message model
Installing index for admin.LogEntry model

listo las anteriores lineas deben aparecer la linea que aparece en rojo debes contestar que si para crear el usuario administrador, después de crear esto digitamos lo siguiente para correr la aplicación:

jonathanorlando@jonathanorlando-laptop:~/produccion/blog$ python manage.py runserver 8080
Validating models…
0 errors found

Django version 1.1.1, using settings ‘blog.settings’
Development server is running at http://127.0.0.1:8080/
Quit the server with CONTROL-C.

hay veces que cuando arrancamos la aplicacion nos dice el servidor de desarrollo de django que el puerto por defecto que es el 8000 se esta utilizando pues le pasamos el 8080 y tolis. Entramos a la url http://127.0.0.1:8080/ nos aparece lo siguiente:

nos marca un erro de url, en cual se muestra que hay disponible la url ^admin/ en la cual esta corriendo el administrador de nuestra aplicacion.

que bonita esta el login :). Bueno entramos el usuario admin en mi caso y el password correspondiente, despues del login aparece lo siguiente:

esta herramienta es muy poderosa ya que podremos mesclar nuestras aplicaciones a esta herramienta con tan solo poco codigo, y lo mejor es que solo en python cool :).


Anuncios

Acerca de jonathanorlando

Editor web, geek, cinefilo, escritor.
Esta entrada fue publicada en django, General, programacion, python. Guarda el enlace permanente.

6 respuestas a Configurar Postgresql con Django

  1. Pingback: Configurar Postgresql con Django | DbRunas

  2. Pingback: Django utilizando Mysql 5 en Ubuntu « Cumbre Digital

  3. diego dijo:

    Amigo muchas gracias por este pequeño tutarial me parece exelente en especial por que estoy inicianndo con django y me ha parecido un poco dificil encontrar ejemplos reales

    Felicitaciones por tu post y ojala publiques mas ejemplos y aplicaciones para django

  4. Manuelinux dijo:

    Que bueno que mi post te sirvio de algo, saludos y gracias por mencionar la fuente de tu informacion

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s