Creamos una aplicacion con el comando
django-admin startproject conexion
Entramos dentro de la carpeta que se creo, y vamos a instalar el conector de mysql con python
Dentro de la carpeta del proyecto, eescribiremos el siguiente comando
pip install mysqlclient
Se deberia instalar sin ningun error, pero la mayoria de las veces da errores.
Si da algun error acerca de visual C++ (cualquier version) hacer lo siguiente:
A mi me da el error pero veremos como solucionarlo.
entraremos a la siguiente pagina
y daremos hasta abajo para encontrar el archivo de instalacion de mysqlclient
Elegiremos dependiendo de nuestra version de python como vemos los archivos dicen cp27 cp35 cp36 cp37 Estas son las versiones de python 2.7 3.5 3.6 etc. solo nos hace falta elegir dependiendo de la version de python que tengamos y elegir segun la version de 32 o 64 bits que tengamos de nuestro python, no de nuestra computadora.
En mi caso yo tengo el python 3.7 para 32bits y se tendria que utilizar el siguiente archivo
Una vez descargado movemos el archivo dentro de nuestra carpeta del proyecto
y dentro de nuestro CMD utilizaremos el siguiente comando para instalarlo. (se recomienda copiar el nombre del archivo para no andar escribiendolo de poco en poco)
pip install (nombre dle archivo que hayan descargado)
Por ejemplo yo escrbiria
pip install mysqlclient-1.4.2-cp37-cp37m-win32.whl
Una vez instalado el mysqlclient, ire a mysql workbench para crear una base de datos realizando la siguiente sentencia sql
E de mencionar que la base de datos se puede crear por medio del CMD pero para que se vea mas graficamente lo hare dentro del workbench
Ahora debemos ir a nuestro IDE de python Pycharm en mi caso, y buscaremos el archivo de settings de nuestro proyecto para realizar algunos cambios dentro de la parte de bases de datos
Dentro del archivo settings en la parte de las bases de datos escribiremos lo siguiente
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
Esto sacado de la liga que nos da django para las bases de datos, y solo es cuestion de buscar donde diga que cuando se quiera utilizar mysql postgre oracle etc
En la parte de password va la contraseña que le hayamos dado a nuestro usuario root
Despues de hacer el cambio, nos vamos a el CMD a ejecutar una migracion para que se nos creen las tablas de nuestro proyecto
Si nos llega a dar algun error, como a mi, parecido al siguiente:
MySQLdb._exceptions.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded: The specified module could not be found.\r\n")
Al final de intentar migrar la base de datos, lo que sucede es que si se tiene una version mas nueva de MySQL instalada, las contraseñas estan encriptadas y le es mas dificil al momento de migrar la base de datos.
Tendremos que entrar a nuestro workbench de mysql y deberemos de utilizar la siguiente sentencia en un query
ALTER USER 'usuario'@'localhost' IDENTIFIED WITH mysql_native_password BY 'contraseña';
Cambiando el usuario y la contraseña correspondientes para hacer que la contraseña se vuelva una contraseña nativa.
Una vez realizado esto podemos realizar la migracion
Y sin singun problema
Ahora deberemos ir a nuestro workbench de mysql para poder ver si las tablas han migrado y lo haremos utilizando una sentencia de
show tablesDamos un
use (nombre de la base de datos) y despues un
show tables para observar las tablas
y como podemos ver nuestras tablas de django se encuentran ahora en mysql.