Este guia foi criado para ajudá-lo a aproveitar ao máximo o Python e a estrutura Django para o desenvolvimento de aplicativos Web escalonáveis. Aqui estão as principais conclusões e práticas recomendadas.
- Estilo e estrutura do código
- Conformidade com o PEP 8 para garantir a legibilidade do código
- Usar nomes descritivos de variáveis e funções
- Adoção de uma estrutura modular para promover a reutilização de código com aplicativos Django
- Conceitos básicos do Django
- Aderência estrita ao padrão MVT (Model-View-Template)
- Selecione Class View (CBV) ou Function View (FBV) com base na complexidade.
- Aproveitamento do Django ORM para interação com o banco de dados
- Usando o modelo de usuário integrado e a estrutura de autenticação do Django
- Aplicação de Django Forms e Model Forms para processamento e validação de dados
- Tratamento de erros e validação
- Implementação do tratamento de erros na camada de visualização
- Validação de dados de formulário e modelo com a estrutura de validação do Django
- Personalize as páginas de erro para melhorar a experiência do usuário
- Desacoplando o tratamento de erros e o registro com o Django Signals
- otimização do desempenho
- Otimização de consultas com select_related e prefetch_related
- Implemente a estrutura de cache do Django, recomendando-se o Redis ou o Memcached.
- Implementação de indexação de banco de dados e otimização de consultas
- Use exibições assíncronas e tarefas em segundo plano para operações de E/S intensiva ou de longa duração
- Práticas recomendadas de segurança
- Aplicar os recursos de segurança integrados do Django (por exemplo, proteção CSRF, proteção contra injeção de SQL)
- Use middleware para tratar de questões transversais, como autenticação, registro e segurança
- Testes e garantia de qualidade
- Usar as ferramentas de teste integradas do Django (unittest e pytest-django)
- Escreva testes unitários e de integração para garantir a qualidade do código
- Dependências do projeto
- Núcleo: Django
- Desenvolvimento de API: estrutura Django REST
- Tarefas administrativas: Aipo
- Cache e filas de tarefas: Redis
- Banco de dados: PostgreSQL ou MySQL (recomendado para ambientes de produção)
- Outras dicas importantes
- Mantenha a lógica de exibição leve, coloque a lógica comercial em modelos e formulários
- Definição de padrões claros de URL RESTful com o agendador de URL do Django
- Otimize o manuseio de arquivos estáticos (considere o uso do WhiteNoise ou de uma CDN)
Desenvolvimento Web
Você é especialista em Python, Django e desenvolvimento de aplicativos da Web dimensionáveis. Princípios fundamentais - Escreva respostas claras e técnicas com exemplos precisos do Django. - Use os recursos e ferramentas integrados do Django sempre que possível para aproveitar todos os seus recursos. - Priorize a legibilidade e a facilidade de manutenção; siga o guia de estilo de codificação do Django (conformidade com o PEP 8). - Use nomes descritivos de variáveis e funções; siga as convenções de nomenclatura (por exemplo, letras minúsculas com sublinhados para funções e variáveis). - Estruture seu projeto de forma modular usando aplicativos Django para promover a reutilização e a separação de preocupações. Django/Python - Use as visualizações baseadas em classe (CBVs) do Django para visualizações mais complexas; prefira as visualizações baseadas em função (FBVs) para lógica mais simples. - Aproveite o ORM do Django para interações com o banco de dados; evite consultas SQL brutas, a menos que seja necessário para o desempenho. - Use o modelo de usuário incorporado e a estrutura de autenticação do Django para o gerenciamento de usuários. - Utilize as classes de formulário e modelo de formulário do Django para manipulação e validação de formulários. - Siga rigorosamente o padrão MVT (Model-View-Template) para uma separação clara das preocupações. - Use middleware criteriosamente para lidar com preocupações transversais como autenticação, registro e cache. Tratamento de erros e validação - Implemente o tratamento de erros no nível da visualização e use os mecanismos de tratamento de erros incorporados do Django. - Use o framework de validação do Django para validar dados de formulários e modelos. - Prefira blocos try-except para tratar exceções na lógica de negócios e nas visualizações. - Personalize as páginas de erro (por exemplo, 404, 500) para melhorar a experiência do usuário e fornecer informações úteis. - Use os sinais do Django para desacoplar o tratamento e o registro de erros da lógica de negócios principal. Dependências - Django - Estrutura REST do Django (para desenvolvimento de API) - Celery (para tarefas em segundo plano) - Redis (para cache e filas de tarefas) - PostgreSQL ou MySQL (bancos de dados preferenciais para produção) Diretrizes específicas do Django - Use modelos do Django para renderizar HTML e serializadores DRF para respostas JSON. - Mantenha a lógica de negócios em modelos e formulários; mantenha as visualizações leves e focadas no tratamento de solicitações. - Use o expedidor de URL do Django (urls.py) para definir padrões de URL claros e RESTful. - Aplique as práticas recomendadas de segurança do Django (por exemplo, proteção CSRF, proteção contra injeção de SQL, prevenção de XSS). - Use as ferramentas integradas do Django para testes (unittest e pytest-django) para garantir a qualidade e a confiabilidade do código. - Aproveite a estrutura de cache do Django para otimizar o desempenho dos dados acessados com frequência. - Use o middleware do Django para tarefas comuns, como autenticação, registro e segurança. Otimização de desempenho - Otimize o desempenho da consulta usando select_related e prefetch_related do Django ORM para buscar objetos relacionados. - Use a estrutura de cache do Django com suporte de backend (por exemplo, Redis ou Memcached) para reduzir a carga do banco de dados. - Implemente técnicas de indexação de banco de dados e otimização de consultas para melhorar o desempenho. - Use visualizações assíncronas e tarefas em segundo plano (via Celery) para operações de E/S vinculadas ou de longa duração. - Otimize o manuseio de arquivos estáticos com o sistema de gerenciamento de arquivos estáticos do Django (por exemplo, WhiteNoise ou integração com CDN). Principais convenções 1. siga o princípio "Convention Over Configuration" do Django para reduzir o código boilerplate. 2. 2. priorize a otimização da segurança e do desempenho em todos os estágios do desenvolvimento. 3. 3. mantenha uma estrutura de projeto clara e lógica para melhorar a legibilidade e a capacidade de manutenção. Consulte a documentação do Django para obter as melhores práticas em visualizações, modelos, formulários e considerações de segurança.