
1. Use caminhos relativos na configuração
Não especifique um caminho absoluto em
settings.py
, será útil se você executar posteriormente o projeto de locais diferentes, por exemplo, ao implementar em outro servidor da web com caminhos diferentes. Use o seguinte código em settings.py se seus modelos e arquivos estáticos estiverem localizados dentro do diretório do projeto Django:
# settings.py
import os
PROJECT_DIR = os.path.dirname(__file__)
...
STATIC_DOC_ROOT = os.path.join(PROJECT_DIR, "static")
...
TEMPLATE_DIRS = (
os.path.join(PROJECT_DIR, "templates"),
)
2. Use a tag {% url%}
Em vez de codificar seus links, tente usar uma tag compatível com versões anteriores
{% url %}
. Isso fornecerá uma URL absoluta, mas se o projeto for movido, os links permanecerão válidos.
Basicamente, ele
{% url %}
pega o nome da visualização e seus parâmetros e faz uma pesquisa reversa para retornar a URL solicitada. Se você fizer alterações em urls.py, os links não serão quebrados.
3. Use o administrador Django para seus aplicativos PHP
Um dos pontos fortes do Django é seu sistema de autenticação de usuário, que é integrado ao núcleo do Django. É muito fácil de configurar e contém um sistema conveniente para autorização do usuário e definição das configurações necessárias.
Este sistema de autorização é tão bom que muitos sugerem usá-lo como uma área administrativa para aplicativos PHP.
4. Use um servidor separado para processamento estático
Django permite que você hospede arquivos estáticos no ambiente dev, mas não em seu ambiente de produção.
Django é projetado para salvá-lo de você mesmo. Se você tentar usar arquivos estáticos da mesma instância do Apache que atende o Django, perderá desempenho.
O Apache reutiliza processos entre cada solicitação, portanto, uma vez que um processo tenha armazenado em cache todo o código e as bibliotecas do Django, eles permanecerão na memória. E se você não usar este processo para
processar a solicitação do Django, toda essa memória será desperdiçada.
No caso de você usar um servidor separado (ou virtualhost) para manipulação estática, o desempenho do seu aplicativo não será afetado.
5. Use a barra de ferramentas de depuração do Django.
As ferramentas de depuração são inestimáveis em qualquer idioma. Eles aceleram o processo de desenvolvimento, ajudando a encontrar bugs e possíveis problemas que possam surgir.
A barra de ferramentas de depuração do Django permite que você veja todas as consultas SQL executadas enquanto a visualização está sendo renderizada, e você também pode visualizar o stacktrace de qualquer uma delas.
6. Teste de unidade Django
O teste de unidade é uma boa maneira de garantir que as alterações no código funcionem conforme o esperado e não quebrem o código anterior. Uma das melhores coisas sobre o Django é que escrever testes de unidade é incrivelmente fácil. Django oferece a habilidade de usar doctest ou unittest fora da caixa, e a documentação do Django tem ótimos tutoriais e exemplos de código sobre como configurar testes de unidade para tornar a localização de bugs ainda mais fácil.
7. Visualização de modelos
Instale as extensões de comando do Django e pygraphviz e, em seguida, use o seguinte comando para obter uma boa visualização dos modelos de projeto no Django:
./manage.py graph_models -a -g -o my_project.png
8. Virtualenv
Virtualenv + Python = varinha mágica. Virtualenv irá isolar as configurações Python / Django para cada projeto individual. Isso significa que as alterações em um site não afetarão outros sites. Também pode ser conveniente quando você precisa manter diferentes versões do Django ou python no servidor.
9. Use Memcache
Quando o desempenho ruim pode ser um problema, você provavelmente desejará instalar algum tipo de sistema de cache. Django oferece muitas opções para armazenamento em cache, mas memcached é de longe o melhor.
A instalação e o uso do memcached são simples se você usar o módulo cmemcache. Após a instalação do módulo, você precisa adicionar uma linha à configuração para tornar suas páginas ainda mais rápidas.
10. Carregamento automático de tags personalizadas que podem ser usadas em todos os modelos
from django import template
template.add_to_builtins('project.app.templatetags.custom_tag_module')
Se você adicionar isso ao módulo que é carregado por padrão (settings.py, urls.py, every app models.py), você terá acesso a todas as tags e filtros de seu módulo personalizado em qualquer modelo, sem usar
{% load custom_tag_module %}
.
O argumento para
template.add_to_builtins()
pode ser um caminho para qualquer módulo; seu módulo personalizado não precisa estar vinculado a nenhum aplicativo específico.
Por exemplo, também pode ser um módulo localizado na raiz do projeto (por exemplo: '
project.custom_tag_module
').
Vale a pena aprender Django em 2020?
Se você é um programador iniciante se perguntando: Devo aprender Django? A resposta curta é sim.
Se você precisa implementar sua ideia com custos mínimos e rapidamente, Django é a ferramenta certa. É gratuito, de código aberto e torna o desenvolvimento de projetos web ainda mais fácil. Django é a melhor solução para aplicativos de prototipagem porque inclui tudo que você precisa para criar a funcionalidade que você precisa pronto para usar. Por exemplo, o painel de administração pode ser conectado com uma linha de código.
Se você é um desenvolvedor já familiarizado com Python e está procurando uma estrutura para o back-end de seu aplicativo ou site, Django também é uma boa escolha.
A estrutura contém bibliotecas e ferramentas que permitem realizar várias operações e processar com eficiência um grande número de solicitações do usuário em tempo real.
Portanto, o processo de desenvolvimento se torna mais rápido, pois você não precisa criar todos os componentes do zero.
Benefícios do Django
1. Rápido
Os desenvolvedores pensaram que o framework seria simples e ao mesmo tempo rápido. Ele contém bibliotecas que permitirão que você não reinvente a roda ou crie um projeto do zero.
2. Seguro
Quando se trata de segurança, o framework permite não atrapalhar e evitar muitos problemas de segurança, como injeção de SQL, XSS, CSRF, devido a possíveis erros do programador.
3. Painel de administração
O framework possui imediatamente um painel de administração e um sistema de autorização, o que permite economizar tempo no gerenciamento de usuários e criar um painel de administração separado para o backend.
4. Escalável
A estrutura é adequada para projetos com vários graus de carga de trabalho e, se um pequeno projeto puder crescer no futuro, não há problema - o Django se adapta perfeitamente a cargas de trabalho pesadas.
5. Ciência e análise de dados
Já sabemos que Django é construído em Python, e Python é conhecido por ser uma ótima ferramenta para construir projetos usando inteligência artificial e aprendizado de máquina. Portanto, se você está planejando integrar o aprendizado de máquina em seu projeto ou analisar e processar grandes quantidades de informações, você definitivamente deve tentar o Django.
6. Apoio comunitário
Existe uma comunidade bastante grande e ativa em torno do Django, e o próprio framework possui uma documentação rica e amigável.
Início rápido
Para começar a programar rapidamente no Django com uma equipe e testá-lo, eu construí e carreguei uma imagem VPS no mercado com um projeto Django 3.1.3 vazio e
- servidor http Gunicorn 20.0.4
- Nginx 1.14.1 como um proxy reverso
- e um servidor de banco de dados Postgresql 12.1.

O custo desse servidor será de 769 rublos por mês - 538 rublos, se pago por um ano.
E escreva seus hacks de vida favoritos enquanto trabalha com Django nos comentários - vamos tentar coletar um post com dicas.

