Underc0de - La Casa de los Informáticos

Programación Scripting => Python => Mensaje iniciado por: Ruleman en Septiembre 28, 2014, 08:33:21 PM

Título: Django 1.7 con MySQL en Ubuntu
Publicado por: Ruleman en Septiembre 28, 2014, 08:33:21 PM
(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.

Código (bash) [Seleccionar]
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.

Código (bash) [Seleccionar]
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"

Código (bash) [Seleccionar]
create database ejemplo;

(https://lh4.googleusercontent.com/-eMYeb5puh1o/VDcMJuaU9wI/AAAAAAAAALM/dD8A-DU1D_0/w402-h94-no/3.png)

comprobamos que halla sido creada correctamente.

Código (bash) [Seleccionar]
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 Python

Código (bash) [Seleccionar]
sudo apt-get install python-dev

(https://lh6.googleusercontent.com/-2Xeti9meLuU/VDcMKgjoG5I/AAAAAAAAALc/2orjOg2cruw/w463-h46-no/5.png)

Librería de Python

Código (bash) [Seleccionar]
sudo 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.

Código (bash) [Seleccionar]
sudo apt-get install python-setuptools python-dev build-essential

(https://lh6.googleusercontent.com/-VKNOMbP5v1Q/VDcMLdfEh-I/AAAAAAAAALw/qWycE0zFPY8/w700-h45-no/7.png)

Código (bash) [Seleccionar]
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

Código (bash) [Seleccionar]
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í

Código (bash) [Seleccionar]
virtualenv mi_entorno

(https://lh5.googleusercontent.com/-SJdN5gVWM2I/VDcMDwhpVrI/AAAAAAAAAMc/k7Wjq06fhGI/w349-h44-no/10.png)


Y "entraremos" a ese entorno virtual así.

Código (bash) [Seleccionar]
source mi_entorno/bin/activate

(https://lh4.googleusercontent.com/-cZQxGekLtek/VDcMDmQgGpI/AAAAAAAAAJE/GBvFZ0f0Pe8/w432-h51-no/11.png)

*Para salir del entorno usaremos:

Código (bash) [Seleccionar]
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.

Código (bash) [Seleccionar]
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

Código (bash) [Seleccionar]
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.

Código (bash) [Seleccionar]
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.

Código (bash) [Seleccionar]
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)

Código (bash) [Seleccionar]
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

Código (bash) [Seleccionar]
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.

Código (bash) [Seleccionar]
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 >
Título: Re:Django 1.7 con MySQL en Ubuntu
Publicado por: ANTRAX en Septiembre 28, 2014, 08:44:28 PM
Está excelente facufangio!!!!
Muchisimas gracias por el aporte!!!

Saludos!
ANTRAX
Título: Re:Django 1.7 con MySQL en Ubuntu
Publicado por: Gabriela en Septiembre 28, 2014, 09:10:09 PM
Sin probar, respondo (no estoy en pc de Ubuntu)
Se ve muy buen aporte.

Gracias por compartir y multiplicar los conocimientos.
:-*

G.
Título: Re:Django 1.7 con MySQL en Ubuntu
Publicado por: Snifer en Septiembre 29, 2014, 11:52:34 AM
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
Título: Re:Django 1.7 con MySQL en Ubuntu
Publicado por: Ruleman en Septiembre 29, 2014, 12:31:54 PM
Muy cierto Snifer.

Gracias por la corrección
Título: Re:Django 1.7 con MySQL en Ubuntu
Publicado por: Y3K en Noviembre 04, 2014, 02:59:54 AM
Sólo como pequeñisimo consejo... Django se lleva mucho mejor con PostgreSQL que con MySQL / MariaDB
Título: Re:Django 1.7 con MySQL en Ubuntu
Publicado por: Ruleman en Noviembre 06, 2014, 03:57:14 PM
Lo se, pero hay gente que no usa PostgreSQL y usa MySQL, por eso el tuto!

Pero gracias por el dato informativo !!


Saludos
Título: Re:Django 1.7 con MySQL en Ubuntu
Publicado por: Y3K en Noviembre 10, 2014, 01:38:23 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Lo se, pero hay gente que no usa PostgreSQL y usa MySQL, por eso el tuto!

Pero gracias por el dato informativo !!


Saludos

Quizá por que la mayoría de los tutoriales son para MySQL ;)

Igual, cuando no hay nada más por usar tampoco viene taaan mal.