Django e Django Rest: Diferenças e aplicações
![Django e Django Rest: Diferenças e aplicações](assets/django-django-rest-diferencas/django-django-rest-diferencas.png)
Django e Django Rest: Diferenças e semelhanças
Ambos escritos em Python, porém com finalidades diferentes. O Django facilita a construção de sites e aplicações web. Já o Django Rest, é um conjunto de ferramentas poderosas para construir web APIs.
![Banner da Escola de Programação: Matricula-se na escola de Programação. Junte-se a uma comunidade de mais de 500 mil estudantes. Na Alura você tem acesso a todos os cursos em uma única assinatura; tem novos lançamentos a cada semana; desafios práticos. Clique e saiba mais!](assets/alura-matricula-maior-escola-tecnologia-brasil-mais-500-mil-estudantes/matricula-escola-programacao-alura-saiba-mais-versao-mobile.png)
Django
O propósito do Django está no desenvolvimento de aplicações web e sites. Lançado em Julho de 2005, atualmente, possui uma estrutura com ORM próprio, suporte à virtualização, autenticação e Templates.
Sua principal convenção é o DRY (Don't Repeat Yourself, que significa não seja repetitivo), que visa o máximo de proveito do código criado, evitando código duplicado.
O Django utiliza um padrão similar ao MVC model-view-controller, porém, aqui chamado de MTV (model-template-view), onde dividimos a aplicação em camadas ou partes, tornando o código mais organizado e legível.
M: Model Regras de negócio, como o model do MVC.
T: Template Arquivo html que será renderizado pela view.
V: View Equivalente ao controller do MVC.
Django Rest Framework
O foco aqui é o desenvolvimento de web API's de forma simples e ágil. Segundo a documentação oficial, o Django Rest gera uma API navegável que auxilia na usabilidade para os desenvolvedores. Além disso, possui um sistema de autenticação e serialização dos dados.
Esse é um dos motivos para usar o Django REST Framework, porque ele torna a serialização mais fácil. Pense que você está desenvolvendo uma API e o JSON é o tipo principal dos recursos disponibilizados. Transitar os dados JSON para um formato que o Python entenda, e vice-versa, é feito de forma simples com este framework.
O Django Rest funciona como um complemento ao Django, isso significa que é necessária a instalação do Django, e consequentemente, do Rest Framework.
![django rest](assets/django-django-rest-diferencas/drf-gif.gif)
Conclusão
O que destaca o Python de muitas linguagens é a possibilidade de utilizar a linguagem em diferentes cenários, como: Data Science, Automação, criação de jogos ou desenvolvimento web. Podemos utilizar o Python para desenvolver sites, aplicações web com Django ou web API's com Django Rest Framework. Quer aprender mais sobre Django ou Django Rest Framework, veja:
Django Rest Framework - Fundamentos
Curso Django Rest - Criando uma API do zero
API com Django 3 - Validações e Deploy
TDD com Django - Desenvolvimento guiado a testes