Conectar Flask con bases de datos SQL como PostgreSQL y SQLite es muy sencillo. Pero el marco también se sincroniza perfectamente con bases de datos NoSQL como CouchDB. Y como beneficio adicional, puede consultar sus datos fácilmente cuando usa CouchDB con Flask.
¿Está listo para hacer un cambio usando un NoSQL como CouchDB con su aplicación Flask? Aquí se explica cómo configurar CouchDB en su máquina local y conectarlo con Flask.
¿Qué es CouchDB?
CouchDB es una base de datos NoSQL actualmente propiedad de Apache Software Foundation. Escrito con Erlang, el software se lanzó por primera vez en 2005.
A diferencia de las bases de datos regulares vinculadas a tablas a las que probablemente esté acostumbrado, CouchDB es un sistema de administración de bases de datos no relacionales que almacena datos como JSON sin procesar.
CouchDB no bloquea, por lo que no bloquea la base de datos durante la entrada de datos. Uno de los puntos fuertes de CouchDB es que utiliza una política de control de concurrencia de múltiples versiones para leer y escribir datos. Por lo tanto, permite entradas simultáneas de múltiples usuarios sin interferencia de la estructura existente de los datos en la base de datos.
Por lo tanto, CouchDB es rápido durante las consultas y fácil de trabajar mientras se utilizan métodos asincrónicos. Dicho esto, esto no lo hace mejor que su contraparte SQL. Cada tecnología tiene sus pros y sus contras.
Configuración de CouchDB
Para comenzar a usar CouchDB, descargue e instale una versión compatible desde Sitio web oficial de CouchDB.
Y si esa última versión no le funciona, continúe con la Archivo CouchDB y descargue la versión 1.6.1, que es una versión anterior de CouchDB.
Una vez que instale CouchDB, ejecútelo en su PC como lo haría con cualquier otra aplicación de escritorio.
Abra su navegador. Luego, inicie el servidor de CouchDB pegando lo siguiente en su barra de direcciones:
http://localhost: 5984 / _utils / index.html
Configurar Python y Flask
Sin embargo, este tutorial asume que ya tiene Python instalado en su PC. De lo contrario, vaya a python.org e instale la última versión de Python en su PC.
Una vez que haya configurado CouchDB, cree una carpeta raíz del proyecto. Luego abra su línea de comando a ese directorio y cree un Entorno virtual de Python.
Instale la última versión de Flask en el espacio virtual usando pepita:
matraz de instalación de pip
Conecte el matraz con CouchDB
Para comenzar a usar CouchDB con su aplicación Flask, instale Matraz-CouchDB, el paquete de tiempo de ejecución para conectar la base de datos con Flask.
Para hacer esto:
pip instalar Flask-CouchDB
Una vez que instalas Matraz-CouchDB con éxito, crea un app.py archivo en esa carpeta raíz. Del mismo modo, cree un database.py archivo: se encarga de la creación de su base de datos.
Abierto database.py e importar los siguientes paquetes:
desde el servidor de importación couchdb
A continuación, cree su base de datos en ese mismo archivo usando el siguiente bloque de código:
desde el servidor de importación couchdb
servidor = servidor ()
db = servidor.create ('muocouch')
Ejecutar database.py a través de la CLI. Luego abra o actualice el servidor local de CouchDB a través de su navegador como lo hizo anteriormente. Ahora debería ver la base de datos (muocouch en este caso) enumerados en CouchDB.
Relacionada:Cómo ejecutar un script de Python
Nota: Asegúrese de utilizar una convención de nomenclatura en minúsculas para las bases de datos, ya que CouchDB podría no aceptar mayúsculas o mayúsculas.
Almacene sus primeros datos de CouchDB usando Flask
En última instancia, el propósito de cualquier base de datos es el almacenamiento de datos. Una vez que tenga una base de datos en CouchDB, puede comenzar a almacenar datos en ella desde su aplicación Flask de inmediato.
Para empezar, abre app.py e importar los siguientes paquetes:
desde el matraz de importación Matraz
desde el servidor de importación couchdb
desde flaskext.couchdb importar documento
A continuación, cree una aplicación Flask y una instancia de servidor CouchDB:
app = Flask (__name__, static_url_path = '/ static')
app.debug = Verdadero
servidor = servidor ()
Ahora, almacenemos algunas entradas de usuario en CouchDB:
@ app.route ('/', métodos = ['OBTENER', 'PUBLICAR'])
def registrar ():
usuario = {
"username": "sitio de medios",
"email": "[email protected]",
"contraseña": "datos cifrados"
}
db = server ['muocouch'] #selecciona la base de datos
doc_id, doc_rev = db.save (usuario) # almacene sus datos en la base de datos
regresar "Sus datos ahora deberían estar en la base de datos
"
Si lo desea, puede configurar su servidor Flask en el modo de desarrollo antes de ejecutarlo.
Para hacer esto, ejecute el siguiente comando a través de su CLI:
set FLASK_ENV = desarrollo
Tenga en cuenta que la configuración del modo de servidor es opcional. Solo hace que la depuración de su código sea sencilla.
Pero independientemente de la configuración del modo de servidor, aquí se explica cómo iniciar el servidor Flask a través de CMD:
matraz correr
Flask, sin embargo, hace que su puerto sea localhost: 5000. Ahora debería ver el mensaje en el H2 etiqueta una vez que cargue esta dirección a través de su navegador.
Validar datos y verificar duplicados mediante consultas de CouchDB
Para estandarizar aún más esto, puede utilizar consultas para validar las entradas y evitar duplicados en su base de datos. Consultar CouchDB es un poco diferente de cómo se hace con bases de datos SQL.
CouchDB usa lo que llama "vistas de JavaScript" para consultar datos de la base de datos. Afortunadamente, esto es relativamente sencillo.
Antes de continuar, así es como se ve una vista de consulta básica de CouchDB:
map_func = función (doc)
{emitir (doc.doc_rev, doc); }
myQuery = [docType] .query (db, map_func, reduce_fun = None)
Ahora usemos el código anterior de manera práctica:
# Cree un modelo de objeto de documento llamado "Usuarios:"
clase Usuario (Documento):
doc_type = 'Usuario'
@ app.route ('/', métodos = ['OBTENER', 'PUBLICAR'])
def registrar ():
usuario = {
"username": "sitio de medios",
"email": "[email protected]",
"contraseña": "datos cifrados"
}
db = server ['muocouch'] #selecciona la base de datos
# Utilice la función de visualización para obtener sus datos de CouchDB
map_func = función (doc)
{emitir (doc.doc_rev, doc); }
# Obtenga todos los datos ejecutando un conjunto de consultas
myQuery = User.query (db, map_func, reduce_fun = None, reverse = True)
q = [i ['nombre de usuario'] para i en myQuery] # Extrae todos los nombres de usuario de la base de datos
q2 = [i ['email'] for i in myQuery] # Extrae todas las direcciones de correo electrónico de la base de datos
q3 = q + q2 # Combinar ambas consultas en una sola lista
imprimir (q3)
regresar "Tus datos ahora están en la base de datos
"
El código anterior usa el Usuario class para consultar los datos obtenidos por la función de vista. Preste mucha atención a los parámetros dentro del conjunto de consultas (myQuery).
Impresión q3, como lo hizo anteriormente, ahora debería mostrar todos los nombres de usuario y direcciones de correo electrónico en la base de datos dentro de la línea de comando.
Entonces, así es como puede usar esta consulta para validar las entradas de los usuarios:
si no (usuario ['nombre de usuario'] en el tercer trimestre o usuario ['correo electrónico'] en el tercer trimestre):
# almacene sus datos en la base de datos si no existe
doc_id, doc_rev = db.save (usuario)
regresar "Registrado correctamente
"
demás:
regresar "El nombre de usuario o el correo electrónico existe
"
Actualizar su navegador devuelve el demás declaración cada vez que intente ingresar un nombre de usuario o un correo electrónico que ya está en la base de datos. Y si está ingresando uno nuevo, almacena con éxito sus datos ejecutando el Si condición.
Relacionada:Cómo usar la declaración if de Python
¡Eso es! Acaba de crear su primera base de datos NoSQL usando Flask-CouchDB.
Aunque la creación y consulta de bases de datos en CouchDB gira en torno a los ejemplos que destacamos aquí, puede explorar más las funcionalidades de Flask. Por ejemplo, puede girar los campos de entrada usando wtforms y marcar duplicados usando el mensaje de Flask destello.
Incluso puede pasar su consulta a jQuery de JavaScript para validar las entradas y verificar los duplicados de forma asincrónica.
¿CouchDB es mejor que las bases de datos SQL?
El uso de CouchDB o cualquier otra base de datos NoSQL con Flask o cualquier otra tecnología de programación depende de sus preferencias. Pero resulta útil cuando se trata de datos sin estructura y medios sin procesar.
Dicho esto, antes de decidirse, es posible que desee analizar las diferencias entre las bases de datos NoSQL y SQL para ayudarlo a decidir cuál de ellas es adecuada para su proyecto.
Elegir un tipo de base de datos puede resultar complicado. ¿Debería elegir SQL o NoSQL?
Leer siguiente
- Programación
- base de datos
- Programación
- Tutoriales de codificación
Idowu es un apasionado de la tecnología inteligente y la productividad. En su tiempo libre, juega con la codificación y cambia al tablero de ajedrez cuando está aburrido, pero también le encanta romper con la rutina de vez en cuando. Su pasión por mostrarle a la gente el camino en torno a la tecnología moderna lo motiva a escribir más.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse