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:

Acesso Flask SQLite

Para abrir o Formulário de informações do funcionário, clique no link que diz 'Adicionar novo registro'.

Exemplos de formulário HTML Flask SQLite

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.

Execução Flask SQLite

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.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone