(http://pulloquinga.com/wp-content/uploads/2014/03/django-mysql.png)
Conectar Django 1.7 con MySQL
En esta oportunidad les traigo como conectar Django y MySQL en Ubuntu.
Lo primero que debemos realizar es instalar MySQL en nuestra PC. para ello usaremos el siguiente código.sudo apt-get install mysql-server
(https://lh3.googleusercontent.com/-Py8XMVhGMis/VDcMDgUpv6I/AAAAAAAAAMc/XVdPOGFeLns/w491-h72-no/1.png)
Una vez instalado, deberemos crear una base de datos para que Django cree las tablas necesarias.
Ingresamos a la base de datos.
mysql -u root -p
(https://lh3.googleusercontent.com/-2U0PgsAGbCc/VDcMGfGb_-I/AAAAAAAAAKM/c30gSyiRhjQ/w351-h58-no/2.png)
-u = USUARIO DE LA BASE DE DATOS
-p = PASSWORD DE LA BASE
Creamos la base de datos llamada "ejemplo"
create database ejemplo;
(https://lh4.googleusercontent.com/-eMYeb5puh1o/VDcMJuaU9wI/AAAAAAAAALM/dD8A-DU1D_0/w402-h94-no/3.png)
comprobamos que halla sido creada correctamente.
show dabatases;
(https://lh4.googleusercontent.com/-_tZqkcJVHa0/VDcMKREMV8I/AAAAAAAAAMI/ETur6p4EVy4/w219-h268-no/4.png)
Una vez ya creada la tabla salimos e instalamos el siguiente paquete y librería de Python.
Paquete de Pythonsudo apt-get install python-dev
(https://lh6.googleusercontent.com/-2Xeti9meLuU/VDcMKgjoG5I/AAAAAAAAALc/2orjOg2cruw/w463-h46-no/5.png)
Librería de Pythonsudo apt-get install libmysqlclient-dev
(https://lh3.googleusercontent.com/-Sn7mhlB0UDE/VDcMKuhHWQI/AAAAAAAAALs/CSc8tbQc5z8/w482-h43-no/6.png)
Ahora vamos a hacer es instalar PIP, éste, nos sirve para instalar paquetes en Python.
Para instalar PIP en Ubuntu haremos.
sudo apt-get install python-setuptools python-dev build-essential
(https://lh6.googleusercontent.com/-VKNOMbP5v1Q/VDcMLdfEh-I/AAAAAAAAALw/qWycE0zFPY8/w700-h45-no/7.png)
sudo easy_install pip
(https://lh3.googleusercontent.com/-yiGcwhp06QA/VDcMLfjemcI/AAAAAAAAAL0/YYX89jCCDB4/w353-h40-no/8.png)
Una vez que tenemos instalado PIP en Ubuntu, vemos cómo instalar virtualenv de la siguiente manera
sudo pip install --upgrade virtualenv
(https://lh4.googleusercontent.com/-jRsWUuA3Zy8/VDcML4j9-QI/AAAAAAAAAME/jjgySMCCScc/w471-h38-no/9.png)
Con esto ya tenemos instalado PIP y virtualenv.
El uso de virtualenv es relativamente sencillo. Si deseamos crear un nuevo entorno virtual, lo haremos así
virtualenv mi_entorno
(https://lh5.googleusercontent.com/-SJdN5gVWM2I/VDcMDwhpVrI/AAAAAAAAAMc/k7Wjq06fhGI/w349-h44-no/10.png)
Y "entraremos" a ese entorno virtual así.
source mi_entorno/bin/activate
(https://lh4.googleusercontent.com/-cZQxGekLtek/VDcMDmQgGpI/AAAAAAAAAJE/GBvFZ0f0Pe8/w432-h51-no/11.png)
*Para salir del entorno usaremos:
deactivate
Una vez adentro del entorno veremos como cambia nuestra linea de código colocando el nombre del entorno entre paréntesis.
(https://lh4.googleusercontent.com/-K0m_caSAkAU/VDcMERzCuMI/AAAAAAAAAMc/KElnQh0op0k/w270-h36-no/12.png)
Comprobaremos si Django se encuentra instalado en nuestro entorno virtual. Para comprobar utilizaremos el siguiente código.
pip freeze
si no se encuentra instalado nos mostrara algo asi
(https://lh6.googleusercontent.com/-NPoH9_zi4LM/VDcMEtQ6AtI/AAAAAAAAAJc/hAbi3_gJ28I/w376-h115-no/14.png)
para instalarlo usaremos el siguiente comando, lo cual nos dará la ultima versión disponible
pip install django
(https://lh6.googleusercontent.com/-dj8KZil8sY8/VDcMEoB0urI/AAAAAAAAAMc/_12g2-8hswQ/w573-h116-no/13.png)
y veremos como ya se nos instala satisfactoriamente.
A continuación instalaremos el conector entre Python y MySQL para que se conecte con nuestra base de datos.
pip install mysql-python
(https://lh3.googleusercontent.com/-LrF3pxNW3XU/VDcMFOlLleI/AAAAAAAAAKc/7-BdOaQ1x4c/w460-h38-no/15.png)
Crearemos ahora nuestro primer proyecto ejemplo para ver si funciona correctamente la conección con la base de datos.
django-admin.py startproject ejemplo
(https://lh6.googleusercontent.com/-cry7NRcdvLE/VDcMFYtRf7I/AAAAAAAAAKQ/tQmo4eiUC2I/w573-h46-no/16.png)
Ingresamos dentro de la carpeta proyecto en este caso llamada "ejemplo" y veremos 1 archivo (manage.py) y una subcarpeta (ejemplo)
(https://lh3.googleusercontent.com/-8alRvbqBxdA/VDcMFpS5MpI/AAAAAAAAAJs/-V8LM1_R5bY/w352-h32-no/17.png)
(https://lh6.googleusercontent.com/-5mo4GeYbMWE/VDcMFiUDU3I/AAAAAAAAAKA/RkfoHm20Qpk/w365-h66-no/18.png)
Ingresamos en la subcarpeta
(https://lh5.googleusercontent.com/-SMKkx7ihf04/VDcMF1e_jQI/AAAAAAAAAJw/FxxW5bpoBP4/w412-h32-no/19.png)
Divisamos el archivo settings.py que sera editado con los datos para establecer la conexión.
(https://lh3.googleusercontent.com/-Rutz7rh0xp0/VDcMGjaGzSI/AAAAAAAAAMU/qIJ8iAcpxb4/w412-h61-no/20.png)
nano settings.py
(https://lh5.googleusercontent.com/-hKJ4ZKg82JE/VDcMGuQVs-I/AAAAAAAAAKI/22zhWQLtNDQ/w531-h44-no/21.png)
Teniendo que quedar como la siguiente imagen
(https://lh5.googleusercontent.com/-2DbzU82c7oo/VDcMHG_g3bI/AAAAAAAAAKU/GfDjL60jlVA/w549-h246-no/22.png)
Donde:
ENGINE : Es el motor de DB que usaremos en este caso MySQL ya que por defecto es SQLite.
NAME : Nombre de la DB
USER : Usuario de la DB
PASSWORD: Contraseña del usuario que creo durante la instalación de MySQL
HOST : Servidor local, queda vació utilizando el por defecto.
PORT : Puerto que también quedará vació ya que utilizamos el que viene por defecto
Guardamos y Cerramos
Nos regresamos a la carpeta principal del proyecto como lo vemos en la imagen.
(https://lh5.googleusercontent.com/-sV8RmwdrYSA/VDcMH-0iZII/AAAAAAAAAKk/hR1r7hyTw6A/w524-h75-no/23.png)
para poder sincronizar Django con la base creada debemos ejecutar el siguiente código utilizando el archivo manage.py
python manage.py syncdb
(https://lh5.googleusercontent.com/-4awB7OOUaT8/VDcMIF11wLI/AAAAAAAAAMQ/YyQ1pjcJMUI/w667-h297-no/24.png)
Nos pedirá si deseamos crear un super-usuario y le ponemos que si, le damos un nombre yo en este caso use "root" y de contraseña "1234".
Una vez sicronizada nuestro proyecto con la base de datos, lo único que nos queda es ejecutar el servidor para poder visualizar si funciona correctamente.
python manage.py runserver
(https://lh3.googleusercontent.com/-6JFscFzf6r8/VDcMIMnIZ0I/AAAAAAAAAKw/UAKHsngNNR4/w548-h38-no/25.png)
En la siguiente imagen veremos que nos otorga la ip y puerto del servidor local "http://127.0.0.1:8000/"
(https://lh3.googleusercontent.com/-rK2s4DnU17g/VDcMIlC42yI/AAAAAAAAAK4/hqqXFQODhlo/w549-h154-no/26.png)
Colocamos la dirección en nuestro navegador y nos mostrara lo siguiente
(https://lh3.googleusercontent.com/-eG8fJWQ-k-c/VDcMJEw4JDI/AAAAAAAAAMM/MgzGz7XcXY0/w863-h243-no/27.png)
si deseamos probar la base de datos colocamos lo siguiente en nuestra url
(https://lh6.googleusercontent.com/-f2-Sz0RUjNA/VDcMJVjb6_I/AAAAAAAAAMA/Svk4I2BVIHs/w218-h46-no/28.png)
y nos pedira nuestro usuario y contraseña que fueren creados durante la sincronización de DB
(https://lh6.googleusercontent.com/-rv4Qz8DWXms/VDcMJhb5Z5I/AAAAAAAAALQ/NoatH8Uzo5Q/w308-h227-no/29.png)
por ultimo veremos que podemos hacer una ABM cargando grupos o usuarios.
(https://lh5.googleusercontent.com/-nG8YieNWS-I/VDcMKCyCfVI/AAAAAAAAALg/t3q0UFo9YFc/w734-h136-no/30.png)
Espero que les sirva y gracias!
< SE SIEMPRE EL MEJOR, PERO NO TE LO CREAS >
Cabe resaltar que dicha cofiguración llega a funcionar en cualquier SO Linux y no solo en Ubuntu.
Buena entrada graicas por compartir.
Regards,
Snifer
Muy cierto Snifer.
Gracias por la corrección
Sólo como pequeñisimo consejo... Django se lleva mucho mejor con PostgreSQL que con MySQL / MariaDB