O framework Django
O que é?
Django é um framework rápido e limpo, escrito em Python para desenvolvimento web. O Django abstrai para o desenvolvedor uma série de tarefas básicas e semelhante a vários projetos que devem ser desenvolvidas, como por exemplo: sistema de login, realizar logout, gerenciamento do site, etc.
O Django é gratuito e é open source. É um framework muito eficiente e eficaz. Ele utiliza o padrão MVC (Model - View - Controller) e foi originalmente criado para gerenciar um site jornalístico em Lawrence, no Kansas.
O princípio do Django é o DRY (Don't Repeat Yourself), que siginifica que o desenvolvedor aproveita ao máximo o código já pronto, evitando repetição.
Principais características
- Mapeamento Objeto-Relacional (ORM): O Python oferece o ORM e com ele podemos criar tabelas do banco de dados sem digitar comandos da linguagem de banco de dados. Apenas usamos classes e métodos;
- Interface Administrativa: É possível gerar uma interface de administração do sistema com muita facilidade;
- Formulários: Pode-se gerar formulários automaticamente;
- Sistema de Templates: O Django tem um excelente linguagem de template. Com ela é possível separar o design dos códigos Python;
- URLs Amigáveis: Com o Django é possível gerar URL's amigáveis ;
- Sistema de Cache: O Django possui um sistema de cache que se integra ao memcached ou em outros frameworks de cache;
- Internacionalização: Dá suporte a multi idioma;
Como o Django funciona basicamente?
Até agora você aprendeu sobre como criar uma aplicação com Angular. Com o Angular, podemos fazer validação de formulários, animações, filtros e outros. Porém, tudo isso é interpretado no computador do cliente da aplicação (cliente-side). Nessa parte, vamos ensinar a criar uma pequena aplicação utilizando o framework Django junto ao AngularJS.
A grande pergunta é: Como ele funciona?
O cliente digita uma URI em sua barra de endereços e, através do protocolo HTTP, envia uma requisição para aquele endereço. A camada controller do Django recebe essa requisição e, se existe uma correspondência para essa requisição, é passada para uma função da camada view que, por sua vez, retorna uma resposta para a requisição (essa resposta pode ser uma página HTML ou uma autenticação de usuário).
O controller é responsável por fazer uma interface de comunicação entre as camadas View e Model. A camada Model é responsável pelas regras de negócio. É nela que definimos as classes e seus métodos (explicaremos mais adiante).
Pré requisito
Elaboramos esse tutorial assumindo que o leitor tem um conhecimento básico de programação com Python, tem que saber o básico de AngularJS, HTML e CSS. Usaremos um pouco de Orientação a Objetos, mas NÃO SE PREOCUPE! É tão básico o que usaremos de POO, que vamos explicar no decorrer do tutorial.