Quickstarters
Feature Overview
Como construir um backend para Django?
41 min
introdução neste tutorial, você aprenderá como construir um backend para django usando a robusta plataforma da back4app, impulsionada por ia django é um framework web de alto nível que incentiva o desenvolvimento rápido de backend e um design limpo e pragmático vamos criar um backend escalável e seguro que se integra perfeitamente ao seu projeto django ao usar a back4app, você pode aproveitar a gestão automatizada de banco de dados, apis poderosas, armazenamento de arquivos, autenticação de usuários, validação de dados, capacidades em tempo real e recursos avançados de segurança você verá como o ambiente da back4app gera automaticamente a infraestrutura do servidor, permitindo que você se concentre na lógica de negócios do seu aplicativo django essa abordagem reduz o tempo de desenvolvimento ao eliminar a necessidade de configurar manualmente servidores e bancos de dados ao final deste tutorial, você terá uma estrutura robusta para suas aplicações web que pode ser estendida com recursos mais complexos, integrações e lógica personalizada pré requisitos uma conta back4app e um novo projeto back4app introdução ao back4app https //www back4app com/docs/get started/new parse app se você não tiver uma conta, pode criar uma gratuitamente siga o guia acima para preparar seu projeto um projeto django configurado localmente certifique se de que você tem um ambiente django se você está começando do zero, siga a documentação oficial do django https //docs djangoproject com/en/4 2/intro/install/ confirme que os installed apps do seu projeto e a estrutura básica de views e templates estão prontos python 3 7+ instalado você precisará de um ambiente python moderno para seu aplicativo django familiaridade com a arquitetura de model view do django e operações básicas de crud se você é novo no django ou precisa revisar, confira a documentação do django https //docs djangoproject com/en/4 2/ ter esses pré requisitos em ordem garantirá uma experiência mais tranquila enquanto você segue este tutorial passo 1 – criando um novo projeto no back4app e conectando por que você precisa de um projeto back4app um novo projeto no back4app é a espinha dorsal do seu desenvolvimento de backend ele fornece a você capacidades do parse server, ferramentas de banco de dados e uma interface administrativa poderosa essa estrutura central permite que você descarregue a gestão do servidor e se concentre na lógica de negócios do seu aplicativo django criar um novo projeto faça login na sua conta back4app clique no botão “novo app” no seu painel do back4app nomeie seu app (por exemplo, “django backend tutorial”) uma vez criado, seu app aparecerá no seu painel do back4app este novo projeto é onde armazenaremos dados, gerenciaremos regras de segurança e executaremos código do lado do servidor para seu app django instalando o sdk python do parse para conectar seu projeto django ao back4app, usaremos o sdk python do parse ele permite que você gerencie operações de dados, autenticação de usuários, recursos em tempo real e mais a partir do seu código python recupere suas chaves de app no painel do back4app, vá para configurações do app ou segurança e chaves para encontrar seu id da aplicação e chave do cliente (ou chave rest ) e a url do servidor parse (por exemplo, https //parseapi back4app com ) instale o sdk pip install parse rest inicialize o parse no seu projeto django por exemplo, crie um novo arquivo chamado parse config py dentro do diretório principal do seu aplicativo django (a mesma pasta que contém views py ou models py ) \# parse config py from parse rest connection import register application id = "your application id" rest api key = "your rest api key" parse server url = "https //parseapi back4app com" \# register your app with parse register(application id, rest api key, master key=none, endpoint=parse server url) com esta configuração, qualquer arquivo no seu projeto django pode importar parse config para garantir uma conexão com seu backend back4app agora você pode consultar e salvar dados do seu código django usando o sdk python do parse passo 2 – configurando o banco de dados 1\ criando um modelo de dados assim como o django usa modelos para armazenar dados em um banco de dados relacional, o parse usa classes para armazenar objetos você pode criar classes no painel do back4app ou defini las dinamicamente no painel do back4app navegue até banco de dados clique em criar uma classe nomeie a (por exemplo, “todo”), depois adicione campos como título (string) e iscompleted (boolean) 2\ usando o agente de ia para gerar automaticamente um modelo de dados o agente de ia do back4app pode ajudá lo a gerar automaticamente um esquema abra o agente de ia no seu painel de aplicativos descreva seu modelo de dados (por exemplo, “um esquema de app todo com título, iscompleted e ponteiro de usuário ”) deixe o agente de ia construir isso para você isso pode economizar tempo, especialmente se seu aplicativo django exigir relacionamentos complexos ou validação de dados avançada 3\ lendo e escrevendo dados usando o sdk parse abaixo está um exemplo de criação e consulta de um todo objeto dentro do seu projeto django \# views py from parse config import from parse rest datatypes import object class todo(object) pass def create todo item(title, is completed=false) todo = todo(title=title, iscompleted=is completed) todo save() # this performs the crud operation to save data in back4app def get all todos() return todo query all() # retrieves all todo objects from back4app você pode chamar essas funções a partir das suas views ou shell do django esta configuração funciona em conjunto com a lógica do seu aplicativo django, então seu framework web permanece totalmente integrado com o backend parse 4\ lendo e escrevendo dados usando a api rest se você prefere rest, aqui está como criar um todo objeto 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 5\ lendo e escrevendo dados usando a api graphql back4app também fornece uma graphql interface por exemplo mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } isso é útil se você quiser integrar consultas graphql em suas views django ou microserviços como parte de uma arquitetura de dados moderna 6\ trabalhando com consultas ao vivo (opcional) para atualizações em tempo real, você pode ativar consultas ao vivo no painel do back4app no momento, o sdk oficial do parse para python pode ter suporte limitado a consultas ao vivo no entanto, você ainda pode se inscrever para mudanças via websockets ou outras abordagens, se necessário confira a documentação do back4app https //www back4app com/docs para as últimas atualizações sobre consultas ao vivo em python passo 3 – aplicando segurança com acls e clps 1\ visão geral breve use listas de controle de acesso (acls) e permissões de nível de classe (clps) para proteger seus dados acls controlam permissões de leitura/gravação por objeto, enquanto clps se aplicam a uma classe inteira 2\ passo a passo configurando permissões de nível de classe vá para a banco de dados seção no back4app escolha a classe (por exemplo, todo ) ajuste o acesso de leitura/escrita ou exija login configurando acls no código isso garante que seu projeto django respeite as mesmas regras de segurança granulares definidas no back4app passo 4 – escrevendo funções de código em nuvem 1\ por que código em nuvem com o código em nuvem, você executa lógica de negócios no lado do servidor por exemplo, você pode realizar validação de dados, integrar apis externas ou acionar eventos antes de salvar dados isso é um complemento poderoso para suas views e templates django, permitindo que você centralize lógica avançada em um só lugar 2\ função de exemplo cloud code é tipicamente escrito em javascript você o implanta no back4app e, em seguida, o chama a partir do seu aplicativo django via o sdk python do parse ou solicitações rest uma função simples // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); 3\ implantação use o back4app cli ou dashboard implante seu main js com funções em nuvem uma vez implantadas, elas se tornam acessíveis ao seu código django via from parse config import import requests def call calculate text length(text) url = "https //parseapi back4app com/functions/calculatetextlength" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } payload = {"text" text} response = requests post(url, json=payload, headers=headers) return response json() 4\ npm se você precisar de módulos node externos em seu cloud code, declare os no package json o back4app os instala automaticamente na implantação passo 5 – configurando a autenticação 1\ ativar ou configurar a autenticação do usuário por padrão, o parse inclui a user classe para cadastros e logins configure a verificação de e mail, redefinições de senha e mais no painel do back4app 2\ exemplos de código django \# models py or a separate file from parse config import from parse rest user import user def register user(username, password, email) new user = user signup(username, password, email=email) return new user def login user(username, password) return user login(username, password) 3\ login social se você precisar de logins do google, apple ou facebook, configure os em configurações de autenticação do back4app e siga os guias respectivos seu aplicativo django pode então vincular ou fazer login de usuários chamando os métodos relevantes do parse passo 6 – gerenciando o armazenamento de arquivos 1\ configurando o armazenamento de arquivos back4app armazena com segurança arquivos enviados via o parse sdk você pode enviar do django enviando um arquivo para um campo de arquivo parse from parse rest datatypes import object, file class photo(object) pass def upload image(file path) with open(file path, 'rb') as f parse file = file(file path, f read()) photo = photo(imagefile=parse file) photo save() return photo 2\ exemplo se você quiser adicionar imagens enviadas pelo usuário, integre um \<input type="file"> em seus templates django, e então manipule o arquivo em uma função de visualização que chama upload image() 3\ considerações de segurança o parse fornece uma configuração que controla quem pode enviar arquivos { "fileupload" { "enableforpublic" true, "enableforanonymoususer" true, "enableforauthenticateduser" true } } ajuste isso para corresponder às suas necessidades de segurança, garantindo que apenas usuários confiáveis possam armazenar e acessar arquivos sensíveis passo 7 – verificação de email e redefinição de senha 1\ visão geral a interface de administração do django lida com muitas coisas, mas para seu backend alimentado pelo parse, você também pode habilitar a verificação de email e redefinições de senha é vital para verificar usuários reais e fornecer um caminho suave para recuperação de conta 2\ configuração do painel abra seu aplicativo back4app habilite a verificação de email em configurações do aplicativo > configurações de email personalize os templates de email para corresponder à sua marca 3\ código/implementação em seu aplicativo django, você pode oferecer um formulário de redefinição de senha quando um usuário solicita uma redefinição, chame o endpoint de redefinição de senha do parse ou o método python apropriado, se suportado no sdk passo 8 – agendando tarefas com cloud jobs 1\ o que os cloud jobs fazem cloud jobs permitem que você execute tarefas automatizadas, como limpar dados antigos ou gerar relatórios isso complementa o crontab ou os celery do django, centralizando tarefas no ambiente do back4app 2\ exemplo // 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); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); após a implantação, agende o no back4app dashboard em server settings > background jobs para ser executado diariamente ou semanalmente passo 9 – integrando webhooks 1\ definição webhooks permitem que você envie requisições http para serviços externos quando certos eventos acontecem em suas classes do back4app por exemplo, notifique um canal do slack ou um serviço de pagamento sempre que um novo registro for criado 2\ configuração vá para mais > webhooks no painel configure seu endpoint externo (por exemplo, uma url em seu projeto django) defina gatilhos (como “objeto criado” em todo ) 3\ exemplo sempre que um novo todo é criado, uma requisição post vai para o endpoint do seu aplicativo django no django, você analisaria os dados json e os trataria (por exemplo, registrando ou processando mais) passo 10 – explorando o painel de administração do back4app 1\ onde encontrá lo o back4app admin app está na sua console em mais > admin app é uma interface centrada em modelos para gerenciar seus dados sem escrever código 2\ recursos banco de dados visualize, edite ou exclua registros rapidamente logs monitore erros ou logs de processo trabalhos em segundo plano gerencie os horários dos seus trabalhos em nuvem análises e push se relevante para seu aplicativo, acesse notificações push e dados analíticos isso é semelhante à própria interface de administração , do django, mas foca no backend do parse conclusão ao seguir este guia, você aprendeu como construir um backend para django usando back4app você criou uma estrutura de backend segura e escalável para seu aplicativo django configurou um modelo de dados, realizou operações crud e aproveitou recursos em tempo real implementou acls, clps e autenticação de usuários para alta segurança usou cloud code para lógica de negócios, validação de dados e integrações externas armazenou arquivos, agendou cloud jobs e configurou webhooks para fluxos de trabalho avançados explorou o back4app admin app para gerenciar seus dados de forma eficaz com esta base, você pode estender seu projeto django com confiança integre recursos avançados, otimize o desempenho e adicione lógica personalizada para atender a requisitos de nível empresarial continue experimentando com o parse python sdk para entregar aplicações web poderosas boa codificação! próximos passos construa um aplicativo django pronto para produção com cache avançado, papéis de usuário e ajustes de desempenho aproveite mais recursos avançados do back4app como análises avançadas ou controle de acesso baseado em papéis aprenda com a documentação oficial do back4app para um conhecimento mais profundo sobre logs, consultas em tempo real e otimização de dados explore outros tutoriais para ver como você pode combinar os poderosos “views e templates” do django com apis externas e m