Explorando Flask SQLite
Neste artigo, vamos mergulhar no Flask SQLite e explorar como ele simplifica a integração do banco de dados em seus aplicativos Flask. Ao usar o Flask SQLite, você pode aproveitar o poder de um banco de dados relacional sem a necessidade de configuração ou administração complexa.
O SQLite é um sistema de gerenciamento de banco de dados independente e baseado em arquivo que não requer nenhuma configuração ou instalação. Ele é leve, rápido e eficiente, o que o torna uma excelente opção para aplicativos da Web menores que não exigem todo o poder de um sistema de gerenciamento de banco de dados tradicional, como MySQL ou PostgreSQL.
Configurando Flask SQLite
Antes de começar a usar o Flask SQLite, você precisa instalar as dependências necessárias. O Flask SQLite é construído sobre o módulo SQLite3 , que está incluído na biblioteca padrão do Python. Portanto, nenhuma instalação adicional é necessária.
Você pode criar um banco de dados SQLite chamado ' database.db ' e, em seguida, criar uma tabela chamada ' alunos ' nele.
import sqlite3 my_conn = sqlite3.connect('flaskdatabase.db') print("Opened database successfully") my_conn.execute('CREATE TABLE employees (ename TEXT, address TEXT, city TEXT, age TEXT, salary TEXT)') print("Table created successfully") my_conn.close()
Seu aplicativo Flask inclui três funções View. A função inicial new_employee() está vinculada à regra de URL (' /addnew ') e exibe um arquivo HTML que contém um formulário para inserir informações do funcionário.
@app.route('/enternew') def new_employee(): return render_template(‘employee.html')
O código para o documento HTML ' Employee.html ' é apresentado abaixo.
<html> <body> <form action = "{{ url_for('addrec') }}" method = "POST"> <h3>Student Information</h3> Name<br> <input type = "text" name = "ename" /></br> Address<br> <textarea name = "add" ></textarea><br> City<br> <input type = "text" name = "city" /><br> Age<br> <input type = "text" name = "age" /></br> Salary<br> <input type = "text" name = "salary" /><br> <input type = "submit" value = "submit" /><br> </form> </body> </html>
Você pode observar que os dados do formulário são enviados para a URL '/addrec', que está associada à função addrec() . A função addrec() recebe os dados do formulário através do método POST e depois os insere na tabela de alunos. Após a operação de inserção, uma mensagem indicando sucesso ou erro é exibida no arquivo 'output.html'.
@app.route('/addrec',methods = ['POST', 'GET']) def addrec(): if request.method == 'POST': try: ename = request.form['ename'] addr = request.form['add'] city = request.form['city'] age = request.form['age'] salary = request.form['salary'] with sql.connect("flaskdatabase.db") as con: cur = con.cursor() cur.execute("INSERT INTO employees (ename,addr,city,age,salary) VALUES (?,?,?,?,?)",(ename,addr,city,age,salary) ) con.commit() msg = "Record successfully added" except: con.rollback() msg = "error in insert operation" finally: return render_template("output.html",msg = msg) con.close()
No código HTML de ' output.html ', há uma instrução de escape {{msg}} que exibe o resultado da operação de inserção para você.
<!doctype html> <html> <body> Output of addition : {{ msg }} <h2><a href = "\">go back to home page</a></h2> </body> </html>
Outra função chamada list() está presente no aplicativo, que é representada pela URL '/list'. Esta função preenche 'rows' como um objeto MultiDict que compreende todos os registros presentes na tabela de funcionários. Posteriormente, esse objeto é transferido para o modelo list.html.
@app.route('/list') def list(): con = sql.connect("flaskdatabase.db") con.row_factory = sql.Row cur = con.cursor() cur.execute("select * from employees") rows = cur.fetchall(); return render_template("list.html",rows = rows)
O ' list.html ' serve como um template, que percorre o conjunto de linhas e apresenta os dados em formato de tabela HTML .
<!doctype html> <html> <body> <table border = 4> <thead> <td>Name</td> <td>Address>/td< <td>city</td> <td>Age</td> <td>Salary</td> </thead> {% for row in rows %} <tr> <td>{{row["ename"]}}</td> <td>{{row["addr"]}}</td> <td> {{ row["city"]}}</td> <td> {{ row["age"]}}</td> <td>{{row['salary']}}</td> </tr> {% endfor %} </table> <a href = "/">Go back to home page</a> </body> </html>
Por fim, ao acessar a regra de URL ' / ' em seu navegador, ela exibe um arquivo first.html 'que serve como ponto inicial da aplicação.
@app.route('/') def first(): return render_template('first.html')
Para executar este script a partir do shell Python, execute-o e inicie o servidor de desenvolvimento. Em seguida, abra seu navegador e digite http://localhost:5000/ na barra de endereço para acessar um menu simples que aparece a seguir:
Para abrir o Formulário de informações do funcionário, clique no link que diz 'Adicionar novo registro'.
Insira as informações necessárias nos campos do formulário e envie-o. Depois disso, a função relevante adicionará o registro à tabela de funcionários.
Retorne à página inicial e clique no link 'Mostrar lista'. Isso exibirá a tabela contendo os dados de amostra.
Benefícios do Flask SQLite
- O SQLite é um mecanismo de banco de dados leve que opera sem a necessidade de um processo de servidor separado. Ele armazena dados em um único arquivo, facilitando o gerenciamento e a implantação. O Flask SQLite aproveita as vantagens do SQLite, fornecendo uma solução de banco de dados eficiente e sem servidor.
- O Flask SQLite elimina a necessidade de configuração e administração de bancos de dados complexos. Com o SQLite, você não precisa instalar e configurar um servidor de banco de dados separado. A integração com o Flask é perfeita, permitindo que você se concentre na criação de seu aplicativo, em vez de lidar com as complexidades da configuração do banco de dados.
- O Flask SQLite não requer nenhuma configuração adicional ou dependências externas. Como o SQLite está incluído na biblioteca padrão do Python, você pode começar a usá-lo imediatamente em seu projeto Flask sem a necessidade de instalações ou configurações separadas.
- Os bancos de dados SQLite são independentes em um único arquivo. Isso simplifica o gerenciamento do banco de dados, pois você só precisa gerenciar um único arquivo para os dados do seu aplicativo. O Flask SQLite fornece métodos convenientes para estabelecer conexões, executar consultas e gerenciar transações, permitindo operações de gerenciamento de dados eficientes.
- Os bancos de dados SQLite são altamente portáteis e podem ser movidos facilmente entre diferentes ambientes ou plataformas. Você pode desenvolver seu aplicativo Flask usando SQLite localmente e, em seguida, implantá-lo perfeitamente em diferentes servidores sem se preocupar com compatibilidade de banco de dados ou problemas de migração.
- SQLite é projetado para simplicidade e eficiência. Ele funciona bem para aplicativos de pequeno a médio porte e pode lidar com uma quantidade substancial de dados e conexões simultâneas. O Flask SQLite fornece uma interface de alto desempenho para interagir com bancos de dados SQLite, garantindo operações eficientes de recuperação e manipulação de dados.
- Os bancos de dados SQLite são compatíveis com várias plataformas e linguagens de programação. Isso significa que, se você decidir mudar do Flask para outra estrutura ou linguagem no futuro, poderá migrar facilmente seu banco de dados SQLite sem grandes alterações. O Flask SQLite garante compatibilidade e transições suaves, proporcionando flexibilidade para o crescimento futuro do seu aplicativo.
Conclusão
Resumindo, se você está procurando um framework leve e amigável para o desenvolvimento de aplicações web, o Flask SQLite é uma excelente opção a se considerar. Essa combinação oferece flexibilidade, facilidade de uso e bom desempenho para projetos de pequeno a médio porte. A sintaxe e a estrutura intuitivas do Flask o tornam fácil de entender e usar. O pequeno consumo de memória do SQLite e os recursos de criptografia integrados garantem a segurança e a eficiência do banco de dados para aplicativos da web. Além disso, a portabilidade do SQLite permite que você implante seu aplicativo facilmente em diferentes ambientes. No geral, o Flask SQLite é uma escolha confiável e popular para o desenvolvimento de aplicativos da Web que exigem flexibilidade, facilidade de uso e bom desempenho.