Quickstarters
CRUD Samples
Como desenvolver um aplicativo CRUD com Flask?
33 min
visão geral este tutorial irá guiá lo na construção de uma aplicação crud (criar, ler, atualizar, excluir) usando flask vamos integrar o back4app como nosso serviço de backend para simplificar a gestão de dados você aprenderá a configurar um projeto back4app, projetar uma estrutura de dados flexível e implementar funcionalidades crud usando flask neste guia, você primeiro criará um projeto back4app chamado basic crud app flask que oferece uma solução robusta de armazenamento de dados não relacional você definirá seu esquema de dados com classes e campos manualmente ou usando o agente de ia do back4app após configurar seu backend com a interface de administração do back4app, você conectará sua aplicação flask ao serviço por meio de chamadas de api rest este tutorial também aborda a gestão de acesso seguro para seus dados ao final, você terá um aplicativo flask pronto para produção capaz de realizar operações crud juntamente com autenticação de usuário segura e manipulação de dados o que você vai aprender como criar um aplicativo crud baseado em flask com um backend não relacional como estruturar seu backend no back4app e integrá lo com um projeto flask como utilizar a interface de administração do back4app para gerenciar operações crud sem esforço como implantar seu aplicativo flask, incluindo o uso do docker para containerização pré requisitos antes de começar, certifique se de que você tem uma conta back4app com um projeto configurado precisa de ajuda? consulte introdução ao back4app https //www back4app com/docs/get started/new parse app um ambiente de desenvolvimento python configurado use um editor como vscode ou pycharm e instale o python 3 8 (ou posterior) conhecimento básico de python, flask e apis rest consulte a documentação do python https //docs python org/3/ se necessário passo 1 – configuração inicial do projeto criando seu projeto back4app faça login na sua conta back4app clique em “novo app” no seu painel digite o nome do projeto basic crud app flask e complete o processo de configuração criar novo projeto após a criação, seu projeto aparece no painel, servindo como a base para a configuração do seu backend passo 2 – construindo o esquema de dados definindo suas estruturas de dados para esta aplicação, você estabelecerá várias classes em seu projeto back4app abaixo estão exemplos das classes principais e seus campos essenciais para operações crud 1\ classe de itens campo tipo descrição id objectid identificador único gerado automaticamente título string o nome ou título do item descrição string uma breve visão geral do item criadoem data timestamp quando o item foi criado atualizadoem data timestamp da última atualização 2\ classe de usuários campo tipo descrição id objectid identificador único gerado automaticamente nome de usuário string nome de usuário único para o usuário email string endereço de e mail único hashdasenha string senha hashada de forma segura para autenticação criadoem data timestamp quando a conta do usuário foi criada atualizadoem data carimbo de data/hora para a última atualização da conta você pode criar essas classes e adicionar campos diretamente no seu painel do back4app criar nova classe você pode adicionar colunas escolhendo um tipo de dado, nomeando o campo, definindo valores padrão e marcando como obrigatório criar coluna utilizando o agente de ia do back4app para criação de esquema o agente de ia no seu painel pode estabelecer automaticamente o esquema com base nas suas instruções esta ferramenta simplifica o processo e garante que seu modelo de dados seja otimizado para tarefas crud como usar o agente de ia abra o agente de ia faça login no seu painel do back4app e localize o agente de ia nas configurações do projeto descreva seu esquema forneça um prompt detalhado listando as classes e campos confirme a configuração revise o esquema proposto e aprove as alterações exemplo de prompt create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) este processo impulsionado por ia economiza tempo e garante um modelo de dados consistente e eficaz passo 3 – habilitando a interface de administração e gerenciando operações crud visão geral da interface de administração a interface de administração do back4app fornece uma solução sem código para gerenciar seus dados de backend com seus recursos de arrastar e soltar, você pode facilmente realizar operações crud—como adicionar, editar ou excluir registros habilitando a interface de administração vá para o menu “mais” no seu painel do back4app selecione “admin app” e clique “habilitar admin app ” crie sua conta de administrador, que também configura funções iniciais como b4aadminuser habilitar admin app após a ativação, faça login na interface de administração para gerenciar os dados do seu projeto painel do admin app usando a interface de administração para crud na interface do admin, você pode inserir novas entradas clique em “adicionar registro” dentro de uma classe (por exemplo, itens) para criar novos dados visualizar e modificar entradas selecione qualquer registro para ver detalhes ou atualizar campos excluir registros remova entradas que não são mais necessárias esta interface fácil de usar melhora a produtividade ao simplificar a gestão do backend passo 4 – conectando sua aplicação flask ao back4app com seu backend configurado, o próximo passo é vincular sua aplicação flask ao back4app fazendo chamadas de api a partir do flask como não existe um sdk parse dedicado para flask, você usará chamadas de api rest no seu aplicativo flask, você pode utilizar a requests biblioteca para realizar operações crud exemplo configurando a comunicação da api instale a biblioteca requests execute o seguinte comando no seu terminal pip install requests configure um módulo python para chamadas de api crie um arquivo chamado back4app api py # back4app api py import requests application id = "your application id" rest api key = "your rest api key" base url = "https //parseapi back4app com/classes" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def get items() response = requests get(f"{base url}/items", headers=headers) return response json() def create item(title, description) data = {"title" title, "description" description} response = requests post(f"{base url}/items", headers=headers, json=data) return response json() def update item(object id, title, description) data = {"title" title, "description" description} response = requests put(f"{base url}/items/{object id}", headers=headers, json=data) return response json() def delete item(object id) response = requests delete(f"{base url}/items/{object id}", headers=headers) return response json() integre funções de api em suas rotas flask por exemplo, em app py # app py from flask import flask, request, jsonify, render template from back4app api import get items, create item, update item, delete item app = flask( name ) @app route("/") def index() items = get items() return render template("index html", items=items get("results", \[])) @app route("/add", methods=\["post"]) def add item() title = request form get("title") description = request form get("description") result = create item(title, description) return jsonify(result) @app route("/update/\<item id>", methods=\["put"]) def modify item(item id) data = request get json() result = update item(item id, data get("title"), data get("description")) return jsonify(result) @app route("/delete/\<item id>", methods=\["delete"]) def remove item(item id) result = delete item(item id) return jsonify(result) if name == " main " app run(debug=true) este exemplo ilustra como usar chamadas rest dentro do flask para interagir com seu backend back4app passo 5 – protegendo seu backend implementando controles de acesso proteja seus dados configurando controles de acesso por exemplo, ao criar um novo item, você pode restringir o acesso ao seu criador abaixo está um exemplo usando chamadas de api com acesso controlado import requests def create private item(title, description, user token) data = {"title" title, "description" description} headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "x parse session token" user token, "content type" "application/json" } response = requests post("https //parseapi back4app com/classes/items", headers=headers, json=data) return response json() configurando permissões de nível de classe ajuste as permissões de nível de classe (clps) diretamente no painel do back4app para garantir que apenas usuários autenticados possam acessar classes específicas passo 6 – implementando autenticação de usuário configurando gerenciamento de usuários o back4app oferece gerenciamento de usuários integrado através de sua classe users em seu aplicativo flask, você pode criar endpoints para registro e login exemplo registro e login de usuário \# auth py import requests application id = "your application id" rest api key = "your rest api key" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def register user(username, password, email) data = {"username" username, "password" password, "email" email} response = requests post("https //parseapi back4app com/users", headers=headers, json=data) return response json() def login user(username, password) params = {"username" username, "password" password} response = requests get("https //parseapi back4app com/login", headers=headers, params=params) return response json() você pode criar rotas flask correspondentes para lidar com o registro e login de usuários usando essas funções passo 7 – implantando sua aplicação flask back4app simplifica a implantação você pode implantar seu aplicativo flask por vários métodos, incluindo docker 7 1 empacotando sua aplicação flask prepare sua aplicação certifique se de que todos os arquivos e dependências necessários estão incluídos teste localmente execute seu aplicativo localmente com flask run 7 2 organizando a estrutura do seu projeto uma estrutura típica pode ser basic crud app flask/ \| app py \| back4app api py \| auth py \| templates/ \| | index html \| static/ \| requirements txt \| dockerfile 7 3 containerizando com docker inclua um dockerfile na raiz do projeto \# use a lightweight python image from python 3 9 slim \# set the working directory workdir /app \# install dependencies copy requirements txt run pip install no cache dir r requirements txt \# copy the application code copy \# expose the port flask runs on expose 5000 \# start the flask app cmd \["python", "app py"] 7 4 implantação via implantação web do back4app conecte seu repositório github certifique se de que seu código está enviado para o github configure as configurações de implantação no painel do back4app, use o recurso de implantação web para vincular seu repositório (por exemplo, basic crud app flask ) e selecione seu branch defina os comandos de build especifique o comando de build (por exemplo, pip install r requirements txt ) e a localização da sua aplicação implantar clique em implantar e monitore os logs até que sua aplicação esteja ao vivo passo 8 – conclusão e direções futuras ótimo trabalho! você criou com sucesso uma aplicação crud baseada em flask integrada com o back4app você estabeleceu um projeto chamado basic crud app flask , definiu modelos de dados para itens e usuários, e gerenciou seu backend através da interface de administração do back4app além disso, você conectou sua aplicação flask usando chamadas de api rest e implementou medidas de segurança o que vem a seguir? expandir funcionalidade considere adicionar recursos como busca avançada, visualizações detalhadas de itens ou atualizações em tempo real aprimorar serviços de backend explore funções em nuvem, integre apis de terceiros ou implemente controle de acesso baseado em funções aprofundar suas habilidades visite a documentação do back4app https //www back4app com/docs e outros recursos para refinar ainda mais sua aplicação feliz codificação e boa sorte com sua aplicação crud em flask!