Red de conocimiento informático - Aprendizaje de código fuente - Pide consejo sobre cómo conectar mysql a python3 usando flask-sqlalchemy pymysql

Pide consejo sobre cómo conectar mysql a python3 usando flask-sqlalchemy pymysql

Python3 usa pymysql flask-sqlalchemy para conectarse a mysql

Esta pregunta la suelen hacer los principiantes, porque la mayoría de los tutoriales (incluido el clásico "Flask

Desarrollo web "(un libro), nos dice cómo usar flask-sqlalchemy para operar sqlite, pero en el entorno de producción (sitio web en línea), debemos usar MySQL u otros, y en la mayoría de los tutoriales, cuéntanos cómo flask-sqlalchemy usa MySQL:

mysql://nombre de usuario:contraseña@servidor/db

Como resultado, seguimos el ejemplo y descubrimos que no funcionó en absoluto. El sitio web escrito informará un error. tan pronto como entre en contacto con la base de datos.

Python y MySQL son "personas de dos países". No se entienden, por lo que necesitan un agente intermediario que permita a ambas partes comunicarse entre sí, al igual que la traducción (esta metáfora no es exacta). , pero es suficiente para que entiendas el significado) Muy bien). Hay muchas opciones de traducción y las diferentes traducciones tienen sus propias características.

Pregunta

La traducción elegida para resolver el problema es "flask-mysqldb", y el maestro detrás de ella es "MySQL-python". Bueno, dicho esto, debes saber que "flask-xxx"

Dicho paquete es un complemento que es adecuado para el envasado de Flask por parte del maestro detrás de él. Al igual que la piel del bollo, el relleno. adentro está el punto clave, "flask-mysqldb" está lleno de "MySQL-

python".

Lo que quiero recomendar es otra traducción: PyMySQL. La ventaja de esto es que puede ser asíncrono (también se puede usar "MySQL-python", solo gusto personal). tiene una gran cantidad de visitas Entonces debes considerar asincrónico, no te preocupes por lo que es ahora. El método de instalación de esto es:

pip install PyMySQL

Después de eso, la conexión a la base de datos es:

mysql://nombre de usuario: contraseña@servidor/ db

p>

Cambiar a

mysql pymysql://nombre de usuario:contraseña@servidor/db

Eso es todo.