Django e Django Rest: Diferenças e aplicações
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.
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.
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