Quickstarters
Feature Overview
Como Construir um Backend para Python?
41 min
introdução neste tutorial passo a passo, você aprenderá como construir um backend completo para aplicações python usando o back4app vamos percorrer a integração de recursos essenciais do back4app—como gerenciamento de banco de dados, funções de cloud code, apis rest e graphql, autenticação de usuários e consultas em tempo real—para criar um backend seguro, escalável e robusto que se comunica perfeitamente com seu código python python é uma escolha popular entre as linguagens de programação para desenvolvimento de backend porque oferece simplicidade e a capacidade de manter o lado do servidor com facilidade frameworks e bibliotecas como django, flask e outros há muito tempo fazem do python uma opção preferida para processos de desenvolvimento web ao aproveitar o back4app, um desenvolvedor python pode rapidamente configurar o esquema do banco de dados, garantir a integridade dos dados e até mesmo incorporar tarefas de aprendizado de máquina sem precisar gerenciar uma infraestrutura complexa ao longo do caminho, você ganhará experiência prática com funcionalidades chave, como recursos avançados de segurança, agendamento de tarefas com cloud jobs e configuração de webhooks para integrações externas ao final deste tutorial, você estará bem preparado para aprimorar essa estrutura fundamental em uma aplicação backend python pronta para produção ou integrar facilmente com outras ferramentas como docker e kubernetes à medida que seu projeto escalar isso dará um impulso à sua jornada de desenvolvimento de backend em python usando uma plataforma confiável e bibliotecas robustas de python pré requisitos para completar este tutorial, você precisará uma conta back4app e um novo projeto back4app começando com back4app https //www back4app com/docs/get started/new parse app inscreva se gratuitamente se ainda não o fez e crie um novo projeto python 3 x instalado certifique se de que você tenha o python 3 x configurado em sua máquina baixar python https //www python org/downloads/ o sdk python do parse instale via pip com pip install parse rest usaremos este sdk para interações de dados familiaridade com conceitos básicos de python se você é novo no python, revise a documentação oficial do python https //docs python org/3/ ou um tutorial para iniciantes ter esses pré requisitos em ordem garantirá que você possa acompanhar enquanto exploramos como construir um backend para python no back4app passo 1 – configurando o projeto back4app criar um novo projeto o primeiro passo para construir seu backend python no back4app é criar um novo projeto se você ainda não criou um, siga estes passos faça login na sua conta back4app clique no botão “novo app” no seu painel do back4app dê um nome ao seu app (por exemplo, “python backend tutorial”) uma vez que o projeto é criado, você o verá listado no seu painel do back4app este projeto será a base para todas as configurações de backend discutidas neste tutorial conectar o sdk parse o back4app depende da plataforma parse para gerenciar seus dados, fornecer recursos em tempo real, lidar com autenticação de usuários e mais para conectar seu código python ao back4app, você deve instalar o sdk parse relevante e inicializá lo com as credenciais do seu painel do back4app recupere suas chaves parse no seu painel do back4app, navegue até as configurações do app ou a seção segurança & chaves para encontrar seu id da aplicação e chave da api rest você também encontrará a url do servidor parse (geralmente https //parseapi back4app com ) instale o sdk rest python do parse pip install parse rest inicialize o parse em seu script python normalmente, você criaria um arquivo (por exemplo, parse config py ) em seu projeto parse config py # parse config py from parse rest connection import register \# replace the placeholders with your back4app credentials application id = "your application id" rest api key = "your rest api key" parse server url = "https //parseapi back4app com" \# the register function initializes the connection register(application id, rest api key, master key=none) este código garante que sempre que você importar seu parse config módulo em outro lugar em sua aplicação python, ele esteja pré configurado para se conectar à sua instância específica do back4app você agora estabeleceu uma conexão segura entre seu código python e o backend do back4app passo 2 – configurando o banco de dados um esquema de banco de dados robusto é essencial para o desenvolvimento de backend em python os recursos de gerenciamento de dados do back4app permitem que você defina tabelas (classes), campos e relacionamentos, garantindo que você possa armazenar e recuperar dados facilmente em seu framework web python ou em qualquer outra biblioteca python que escolher criando um modelo de dados o back4app cria automaticamente esquemas de classe quando você salva um objeto pela primeira vez a partir do código, ou você pode definir um esquema no painel navegue até a seção “banco de dados” no seu painel do back4app crie uma nova classe (por exemplo, “todo”) e adicione colunas relevantes, como título (string) e iscompleted (boolean) criando um modelo de dados usando o agente de ia o agente de ia do back4app pode ajudá lo a criar rapidamente um esquema de banco de dados abra o agente de ia a partir do seu painel de aplicativos descreva seu modelo de dados em linguagem natural (por exemplo, “crie um app de todo com um esquema de classe completo ”) deixe o agente de ia gerar seu esquema automaticamente lendo e escrevendo dados usando o python parse sdk uma vez que seu esquema esteja pronto, salvar e consultar dados é simples por exemplo models py from parse rest datatypes import object import parse config # ensure parse config is imported class todo(object) pass def create todo item(title, is completed=false) new todo = todo(title=title, iscompleted=is completed) new todo save() print("todo saved successfully ", new todo objectid) def fetch todos() return todo query all() \# usage \# create todo item("buy groceries", false) \# results = fetch todos() \# for todo in results \# print(todo title, todo iscompleted) lendo e escrevendo dados usando a api rest se você preferir interagir via rest, pode enviar solicitações diretamente curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo lendo e escrevendo dados usando a api graphql back4app também fornece um endpoint graphql para consultar e modificar dados mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } trabalhando com consultas ao vivo (opcional) consultas ao vivo permitem que você receba atualizações em tempo real sempre que os dados mudam para habilitá las ative consultas ao vivo em suas configurações do servidor use uma abordagem websocket em python para se inscrever em mudanças embora o sdk python para consultas ao vivo seja impulsionado pela comunidade, você pode integrar uma biblioteca websocket se sua aplicação exigir atualizações em tempo real passo 3 – aplicando segurança com acls e clps visão geral breve back4app fornece listas de controle de acesso (acls) e permissões de nível de classe (clps) para ajudar a garantir a integridade dos dados esses recursos definem como usuários públicos ou usuários autenticados podem acessar ou modificar dados configurando permissões de nível de classe vá para o seu painel do back4app , selecione seu aplicativo e abra a base de dados seção selecione uma classe (por exemplo, “todo”) vá para permissões de nível de classe e configure regras para usuários públicos ou autenticados configurando acls no código as acls são permissões detalhadas definidas em objetos individuais por exemplo from parse rest datatypes import object, acl from parse rest user import user import parse config class todoacl(object) pass def create private todo(title, owner) todo = todoacl(title=title) \# create acl that allows only the owner read/write acl = acl() acl set read access(owner objectid, true) acl set write access(owner objectid, true) todo acl = acl todo save() return todo com acls e clps, você pode encontrar um equilíbrio entre segurança e conveniência ao construir suas aplicações python passo 4 – escrevendo funções de cloud code por que cloud code cloud code permite que você transfira lógica de negócios importante para o lado do servidor isso pode envolver validações, gatilhos ou tarefas sofisticadas, como integrar ferramentas de aprendizado de máquina ou apis externas com seu desenvolvimento de backend em python função de exemplo você pode escrever suas funções em main js (cloud code baseado em javascript) no back4app observe que, enquanto você desenvolve sua aplicação em python, o ambiente de cloud code no back4app usa node js/javascript você pode chamar essas funções do seu código python ou de qualquer outro cliente // main js parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw new error("no text provided"); } return { length text length }; }); você pode chamar esta função usando as capacidades rest ou graphql do python import requests def get text length(text) url = "https //parseapi back4app com/functions/calculatetextlength" headers = { "x parse application id" "your app id", "x parse rest api key" "your rest api key", "content type" "application/json" } response = requests post(url, headers=headers, json={"text" text}) data = response json() return data get("result", {}) \# usage length info = get text length("hello back4app") print(length info get("length")) implantação e npm o cloud code do back4app é implantado usando o back4app cli https //www back4app com/docs/local development/parse cli ou via o painel você pode instalar pacotes npm (por exemplo, para manipulação de dados, chamadas de api externas) e referenciá los em seu main js esta abordagem mantém seu código eficiente e seguro no lado do servidor passo 5 – configurando a autenticação ativar ou configurar a autenticação de usuário o back4app aproveita a classe parse user para autenticação isso gerencia automaticamente a hash de senhas, tokens de sessão e mais você pode gerenciar inscrições, logins ou redefinições de senha com sobrecarga mínima inscrever se e fazer login a partir do python from parse rest user import user import parse config def sign up user(username, password, email) new user = user signup(username, password, email=email) print("user signed up successfully ", new user objectid) return new user def log in user(username, password) logged user = user login(username, password) print("user logged in ", logged user username) return logged user as sessões são gerenciadas automaticamente pelo parse você pode rastrear o usuário logado e chamar logout() quando necessário para mais detalhes, consulte a documentação da classe de usuário https //www back4app com/docs/platform/users login social você pode integrar provedores populares (como facebook ou google) configurando fluxos oauth ou usando adaptadores especializados consulte a documentação de login social https //www back4app com/docs/platform/sign in with apple para mais detalhes sobre como configurar esses recursos com seu projeto python passo 6 – gerenciando armazenamento de arquivos configurando armazenamento de arquivos a plataforma parse inclui armazenamento de arquivos nativo import requests import parse config def upload file(file path) file name = file path split('/')\[ 1] url = f"https //parseapi back4app com/files/{file name}" headers = { "x parse application id" "your app id", "x parse rest api key" "your rest api key", "content type" "image/jpeg" # or other mime type } with open(file path, 'rb') as f response = requests post(url, headers=headers, data=f) return response json() get('url') exemplo você pode anexar este arquivo a um objeto parse armazenando sua url isso mantém seus dados consistentes enquanto sua mídia é hospedada com segurança pelo back4app considerações de segurança você pode controlar quem pode fazer upload ou acessar arquivos configurando as configurações do seu servidor parse para permitir apenas usuários autenticados, por exemplo essa abordagem garante que suas aplicações python em produção permaneçam seguras passo 7 – verificação de email e redefinição de senha visão geral a verificação de email e a redefinição de senhas são cruciais para a gestão de usuários elas ajudam a confirmar as identidades dos usuários e a manter a segurança da conta configuração do painel do back4app ativar verificação de email em configurações do app > configurações de email configure os templates de email, como o endereço “de” e as instruções de redefinição de senha implementação de código a partir do python, você pode acionar emails de redefinição de senha via o endpoint rest ou bibliotecas parse por exemplo curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "user\@example com"}' \\ https //parseapi back4app com/requestpasswordreset isso garante um fluxo contínuo para redefinições de senha diretamente do seu backend python ou qualquer outra interface passo 8 – agendamento de tarefas com cloud jobs o que os cloud jobs fazem os cloud jobs permitem que você automatize tarefas, como limpar registros antigos ou gerar relatórios periódicos esses jobs são executados na infraestrutura do back4app em intervalos especificados exemplo no seu main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); você pode então agendar este trabalho para ser executado diariamente ou semanalmente usando a seção de trabalhos em segundo plano do painel do back4app passo 9 – integrando webhooks definição webhooks permitem que seu aplicativo back4app notifique serviços externos quando certos eventos ocorrem isso é útil para integrar com gateways de pagamento ou plataformas de análise, expandindo seus processos de desenvolvimento configuração navegue para webhooks no seu painel do back4app adicione um novo webhook endpoint (por exemplo, https //your service com/webhook endpoint ) selecione os eventos que acionam o webhook (por exemplo, criação ou atualizações de objeto) você também pode definir webhooks em gatilhos de cloud code como beforesave ou aftersave para enviar dados para apis externas passo 10 – explorando o painel de administração do back4app onde encontrá lo o aplicativo de administração do back4app é uma interface de gerenciamento baseada na web ele permite que sua equipe execute operações crud, gerencie dados e lide com tarefas do dia a dia sem escrever código adicional isso pode agilizar seu processo de desenvolvimento de backend em python recursos ativar o app admin a partir de app dashboard > mais > app admin e siga os passos crie o primeiro usuário admin um novo papel ( b4aadminuser ) e classes são adicionados automaticamente ao seu esquema escolha um subdomínio para sua interface de admin e finalize em seguida, faça login para acessar seu novo app admin o app admin facilita a atualização ou remoção de registros e a gestão dos seus dados com controles de acesso adequados, é seguro compartilhar com gerentes de projeto ou partes interessadas conclusão seguindo este guia sobre como construir um backend para python , você criou um backend seguro para aplicações python no back4app configurou um banco de dados com esquemas e relacionamentos flexíveis implementou consultas em tempo real para atualizações instantâneas de dados (opcional com consultas ao vivo) aplicou medidas de segurança com acls e clps para proteger os dados escreveu cloud code em javascript para lidar com a lógica do lado do servidor, facilmente chamável a partir do python configurou autenticação de usuário com verificação de e mail e fluxos de redefinição de senha gerenciou uploads de arquivos no seu código python com segurança opcional para arquivos agendou tarefas recorrentes para tarefas automatizadas integrou serviços externos usando webhooks explorou o painel de administração para gerenciamento de dados e colaboração com uma base de código python sólida e um backend robusto no back4app, você agora está preparado para enfrentar estruturas de dados avançadas, incorporar frameworks como django e flask, e até integrar aprendizado de máquina python oferece inúmeras possibilidades, e combiná lo com o back4app significa que você pode iterar rapidamente enquanto se concentra na lógica central do negócio, em vez de na manutenção do servidor próximos passos construa um aplicativo python pronto para produção refinando seu esquema de banco de dados, adicionando cache e gerenciando otimizações de desempenho explore recursos avançados como controle de acesso baseado em funções, registro avançado ou conexão com apis de terceiros para análises revise a documentação oficial do back4app para obter insights mais profundos sobre segurança, ajuste de desempenho e análise de logs experimente ferramentas como docker e kubernetes para containerizar e escalar seu aplicativo conforme necessário ao aproveitar as poderosas bibliotecas do python e a infraestrutura escalável do back4app, você pode acelerar sua jornada de desenvolvimento de backend com confiança