Conectar o Flask com bancos de dados SQL como PostgreSQL e SQLite é muito fácil. Mas a estrutura sincroniza perfeitamente com bancos de dados NoSQL, como CouchDB, também. E como um benefício adicional, você pode consultar seus dados facilmente ao usar o CouchDB com o Flask.

Pronto para fazer uma mudança usando um NoSQL como o CouchDB com seu aplicativo Flask? Veja como configurar o CouchDB em sua máquina local e conectá-lo ao Flask.

O que é CouchDB?

CouchDB é um banco de dados NoSQL atualmente de propriedade da Apache Software Foundation. Escrito com Erlang, o software foi lançado pela primeira vez em 2005.

Ao contrário dos bancos de dados vinculados a tabelas regulares com os quais você provavelmente está acostumado, o CouchDB é um sistema de gerenciamento de banco de dados não relacional que armazena dados como JSON bruto.

O CouchDB não bloqueia, portanto, não bloqueia o banco de dados durante a entrada de dados. Um dos pontos fortes do CouchDB é que ele usa uma política de controle de simultaneidade de várias versões para ler e gravar dados. Portanto, permite entradas simultâneas de vários usuários sem interferência da estrutura de dados existente no banco de dados.

instagram viewer

Portanto, o CouchDB é rápido durante as consultas e fácil de trabalhar ao usar métodos assíncronos. Dito isso, isso não o torna melhor do que sua contraparte SQL. Cada tecnologia tem seus prós e contras.

Configuração do CouchDB

Para começar a usar o CouchDB, baixe e instale uma versão compatível em Site oficial do CouchDB.

E se essa versão mais recente não funcionar para você, vá para o Arquivo CouchDB e baixe a versão 1.6.1, que é uma versão anterior do CouchDB.

Depois de instalar o CouchDB, execute-o em seu PC como faria com qualquer outro aplicativo de desktop.

Abra seu navegador. Em seguida, inicie o servidor CouchDB colando o seguinte em sua barra de endereço:

http://localhost: 5984 / _utils / index.html

Configurar Python e Flask

Este tutorial, no entanto, assume que você já possui o Python instalado em seu PC. Caso contrário, vá para python.org e instale a versão mais recente do Python em seu PC.

Depois de configurar o CouchDB, crie uma pasta raiz do projeto. Em seguida, abra sua linha de comando para esse diretório e crie um Ambiente virtual Python.

Instale a versão mais recente do Flask no espaço virtual usando pip:

frasco de instalação pip

Conecte o frasco ao CouchDB

Para começar a usar o CouchDB com seu aplicativo Flask, instale Flask-CouchDB, o pacote de tempo de execução para conectar o banco de dados ao Flask.

Para fazer isso:

pip install Flask-CouchDB

Depois de instalar Flask-CouchDB com sucesso, crie um app.py arquivo nessa pasta raiz. Da mesma forma, crie um database.py arquivo - trata da criação do banco de dados.

Aberto database.py e importe os seguintes pacotes:

do servidor de importação do couchdb

Em seguida, crie seu banco de dados nesse mesmo arquivo usando o seguinte bloco de código:

do servidor de importação do couchdb
servidor = servidor ()
db = server.create ('muocouch')

Executar database.py por meio da CLI. Em seguida, abra ou atualize o servidor local do CouchDB por meio de seu navegador, como fez anteriormente. Agora você deve ver o banco de dados (muocouch neste caso) listado no CouchDB.

Relacionado:Como executar um script Python

Observação: Certifique-se de usar uma convenção de nomenclatura em minúsculas para bancos de dados, pois o CouchDB pode não aceitar maiúsculas ou mistas.

Armazene seus primeiros dados CouchDB usando Flask

Em última análise, o objetivo de qualquer banco de dados é o armazenamento de dados. Depois de ter um banco de dados no CouchDB, você pode começar a armazenar dados nele a partir de seu aplicativo Flask imediatamente.

Para começar, abra app.py e importe os seguintes pacotes:

from flask importar Flask
do servidor de importação do couchdb
from flaskext.couchdb import Document

Em seguida, crie um aplicativo Flask e uma instância do servidor CouchDB:

app = Flask (__name__, static_url_path = '/ static')
app.debug = True
servidor = servidor ()

Agora, vamos armazenar algumas entradas do usuário no CouchDB:

@ app.route ('/', methods = ['GET', 'POST'])
def register ():
usuário = {
"nome de usuário": "site de mídia",
"email": "[email protected]",
"senha": "criptografadosdados"
}
db = server ['muocouch'] #selecione o banco de dados
doc_id, doc_rev = db.save (usuário) # armazene seus dados no banco de dados
Retorna "

Seus dados agora devem estar no banco de dados

"

Se desejar, você pode definir seu servidor Flask para o modo de desenvolvimento antes de executá-lo.

Para fazer isso, execute o seguinte comando por meio de sua CLI:

definir FLASK_ENV = desenvolvimento

Observe que a configuração do modo do servidor é opcional. Isso apenas torna a depuração do seu código mais fácil.

Mas, independentemente da configuração do modo do servidor, veja como iniciar o servidor Flask por meio do CMD:

Flask Run

O Flask, no entanto, padroniza sua porta para localhost: 5000. Agora você deve ver a mensagem no H2 tag uma vez que você carrega este endereço através do seu navegador.

Validar dados e verificar duplicatas usando consultas CouchDB

Para padronizar isso ainda mais, você pode usar consultas para validar entradas e evitar duplicatas em seu banco de dados. Consultar o CouchDB é um pouco diferente de como você faz isso com bancos de dados SQL.

O CouchDB usa o que chama de "visualizações JavaScript" para consultar dados do banco de dados. Felizmente, isso é relativamente simples.

Antes de prosseguir, esta é a aparência de uma visualização de consulta CouchDB básica:

map_func = função (doc) 
{emit (doc.doc_rev, doc); }
myQuery = [docType] .query (db, map_func, reduce_fun = None)

Agora vamos usar o código acima de forma prática:

#Crie um modelo de objeto de documento chamado "Comercial:"
classe Usuário (Documento):
doc_type = 'Usuário'
@ app.route ('/', methods = ['GET', 'POST'])
def register ():
usuário = {
"nome de usuário": "site de mídia",
"email": "[email protected]",
"senha": "criptografadosdados"
}
db = server ['muocouch'] #selecione o banco de dados
# Use a função de visualização para buscar seus dados no CouchDB
map_func = função (doc)
{emit (doc.doc_rev, doc); }
# Obtenha todos os dados executando um conjunto de consultas
myQuery = User.query (db, map_func, reduce_fun = None, reverse = True)
q = [i ['nome de usuário'] para i em myQuery] # Loop out todos os nomes de usuário do banco de dados
q2 = [i ['email'] para i em myQuery] # Loop out todos os endereços de e-mail do banco de dados
q3 = q + q2 # Mesclar ambas as consultas em uma única lista
imprimir (q3)
Retorna "

Seus dados agora estão no banco de dados

"

O código acima usa o Do utilizador classe para consultar os dados buscados pela função de visualização. Preste muita atenção aos parâmetros dentro do conjunto de consultas (myQuery).

Impressão q3, como você fez acima, agora deve produzir todos os nomes de usuário e endereços de e-mail no banco de dados dentro da linha de comando.

Então, veja como você pode usar essa consulta para validar as entradas dos usuários:

se não (usuário ['nome de usuário'] em q3 ou usuário ['e-mail'] em q3):
# armazene seus dados no banco de dados se ele não existir
doc_id, doc_rev = db.save (usuário)
Retorna "

Registrado com sucesso

"
outro:
Retorna "

Nome de usuário ou e-mail existente

"

Atualizar seu navegador retorna o outro declaração cada vez que você tenta inserir um nome de usuário ou um e-mail que já está no banco de dados. E se você estiver inserindo um novo, ele armazena com sucesso seus dados executando o E se doença.

Relacionado:Como usar a instrução if do Python

É isso! Você acabou de criar seu primeiro banco de dados NoSQL usando Flask-CouchDB.

Embora a criação e consulta de bancos de dados no CouchDB gire em torno dos exemplos que destacamos aqui, você pode explorar mais as funcionalidades do Flask. Por exemplo, você pode aumentar os campos de entrada usando wtforms e sinalizar duplicatas usando a mensagem do Flask clarão.

Você pode até mesmo passar sua consulta para jQuery do JavaScript para validar entradas e verificar duplicatas de forma assíncrona.

O CouchDB é melhor do que os bancos de dados SQL?

Usar CouchDB ou qualquer outro banco de dados NoSQL com Flask ou qualquer outra tecnologia de programação depende de sua preferência. Mas é útil ao lidar com dados sem estrutura e mídia bruta.

Dito isso, antes de decidir, você pode querer examinar as diferenças entre os bancos de dados NoSQL e SQL para ajudá-lo a decidir qual deles é adequado para o seu projeto.

CompartilhadoTweetE-mail
SQL vs. NoSQL: Qual é o melhor banco de dados para seu próximo projeto?

Escolher um tipo de banco de dados pode ser complicado. Você deve escolher SQL ou NoSQL?

Leia a seguir

Tópicos relacionados
  • Programação
  • base de dados
  • Programação
  • Tutoriais de codificação
Sobre o autor
Idowu Omisola (94 artigos publicados)

Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com codificação e muda para o tabuleiro de xadrez quando está entediado, mas também adora quebrar a rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.

Mais de Idowu Omisola

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever