Tutorial Django para iniciantes: recursos, Archiarquitetura e história

Resumo do tutorial Django

Este tutorial do Django cobre todos os tópicos básicos do zero. Neste tutorial, você aprenderá conceitos como o que é Django, história do Django, recursos do Django, características da estrutura do Django, componente do Django, vantagens e desvantagens e muito mais.
Antes de aprender Django, vamos entender:

O que é um Web Framework?

Uma estrutura da web é uma biblioteca de códigos que ajuda você a construir um ambiente flexível, escalável e de fácil manutenção; site dinâmico, aplicativo da web e serviços da web. Diferentes frameworks web são Zend para PHP, Ruby on Rails para Ruby, etc.

O que é Django?

Django é uma estrutura de desenvolvimento web para Python que oferece métodos padrão para desenvolvimento rápido e eficaz de sites. O objetivo principal desta estrutura web de alto nível é criar sites complexos baseados em banco de dados. Ela ajuda você a construir e manter aplicativos web de qualidade. Ela permite que você torne o processo de desenvolvimento suave e economize tempo para um desenvolvimento rápido.

Por que Django? Principais vantagens do Django

Aqui estão as principais vantagens do Django:

  • Django é fácil de configurar e executar. Ele oferece uma variedade de opções para começar
  • Ele fornece uma interface de usuário pronta para uso para atividades administrativas
  • Permite sites multilíngues usando seu sistema de internacionalização integrado
  • Ajuda você a atender rapidamente às enormes demandas de tráfego
  • Django é usado para construir todos os tipos de sistemas de gerenciamento de conteúdo, redes sociais e também plataformas de computação científica.
  • Django ajuda você a fornecer testes de aplicativos ponta a ponta
  • Ajuda você a documentar sua API com uma saída HTML
  • REST Framework tem suporte avançado para vários protocolos de autenticação
  • Permissões e políticas de limitação
  • É amplamente utilizado para solicitações de API de limitação de taxa de um único usuário.

História do Django

Ano Marco miliário
2003 O projeto foi iniciado por Adian Holovaty e Simon Willison como um projeto interno no jornal Lawrence Journal-World
Julho de 2005 Foi lançado em julho de 2005 como “Django”, em homenagem ao guitarrista de jazz Django Reinhard.
junho de 2008 Declarou que um Software Django Foundation (DSF) manteria o Django.
29 de Julho de 2009 A versão 1.1 do Django foi lançada com recursos como agregados, testes baseados em transações.
17 de maio de 2010 A versão Django 1.2 foi lançada. A atualização ofereceu recursos como múltiplos bancos de dados, implementação de backend de e-mail e melhorias para sessões e cookies são feitas nesta versão.
Março 23 2011 Versão 1.3 com recursos como visualizações baseadas em classe, arquivos estáticos foram introduzidos
Março 23 2012 Versão 1.4 lançada com novos recursos como fusos horários e testes no navegador
Fevereiro 26 2013 A versão 1.5 vem com Python 3 Suporte, recursos de modelo de usuário configuráveis.
6 2013 novembro A versão 1.6 vem com gerenciamento de transações de banco de dados e recursos de pool de conexões.
2 setembro 2014 A versão 1.7 tinha novos recursos como carregamento de aplicativos, migrações e configuração
Abril 1 2015 suporte nativo fornecido para vários mecanismos de modelo.
1 Dec 2015 Na versão 1.9, foi introduzido o recurso de validação automática de senha.
Agosto 1 2016 Na versão 1.10, pesquisa de texto completo por PostgreSQL lançado.
Abril 4 2017 A versão 1.11 se torna a última versão com suporte Python 2.7
2 Dec 2017 a versão 2.0 se torna a primeira versão de lançamento somente do python 3.
Agosto 1 2018 a versão 2.1 vem com o recurso de suporte à permissão de “visualização” do modelo.
2021 Removido suporte para Django 3.0 e adicionado suporte para Django 3.2

Agora, neste tutorial do Django para iniciantes, vamos aprender sobre os recursos do Django.

Características do Django

Abaixo estão os recursos do Django:

  • Ajuda você a definir padrões para as URLs em seu aplicativo
  • Sistema de URL simples, mas poderoso
  • Sistema de autenticação integrado
  • Banco de dados de linguagem de programação orientada a objetos que oferece o melhor armazenamento e recuperação de dados da categoria
  • O recurso de interface de administração automática permite a funcionalidade de adicionar, editar e excluir itens. Você pode personalizar o painel de administração conforme sua necessidade.
  • A estrutura de cache vem com vários mecanismos de cache.

Agora neste tutorial do framework Django, aprenderemos sobre as características do Django.

Características do Django

Aqui estão as principais características do Django:

  • Loosely Coupled- Django ajuda você a tornar cada elemento de sua pilha independente dos outros.
  • Less código- Garante um desenvolvimento eficaz
  • Não repetido - Tudo deve ser desenvolvido precisamente em um lugar, em vez de repetir novamente
  • Desenvolvimento rápido - O Django oferece desenvolvimento de aplicativos rápido e confiável.
  • Design consistente - O Django mantém um design limpo e facilita o seguimento das melhores práticas de desenvolvimento web.

A seguir neste tutorial para iniciantes do Django, aprenderemos sobre a arquitetura do Django.

Django ArchiEstrutura: MVC e MVT

Abaixo está uma arquitetura detalhada do Django:

Django Archiarquitetura
Django Archiarquitetura

Padrão MVC

Quando falamos de aplicações que fornecem UI (web ou desktop), costumamos falar de arquitetura MVC. O padrão MVC é baseado em Modelo, Visualização e Controlador.

A Modelo define a estrutura de dados e cuida da consulta ao banco de dados.

A Ver define quais dados devem ser apresentados e retorna uma resposta HTTP.

A Responsável pelo Tratamento é a parte do aplicativo que trata da interação do usuário.

Padrão Django MVC-MVT

O Model-View-Template (MVT) é um conceito diferente em comparação ao MVC. A principal diferença entre esses dois padrões de arquitetura é que o próprio Django gerencia a parte Controller (código de software que controla as interações entre o Model e o View). O modelo é um arquivo HTML misturado com o arquivo Django Template Language, também chamado de DTL.

O diagrama abaixo mostra como todos os componentes do padrão MVT interagem entre si para atender especificamente a uma solicitação do usuário.

Django ArchiEstrutura: MVC e MVT

extensão MVT Archiarquitetura

Conforme visto no diagrama acima, um usuário solicita um recurso ao Django. Django atua como um controlador e verifica o recurso disponível na URL.

Se mapas de URL, é chamada uma visualização que interage com o modelo e o modelo. O Django então responde ao usuário e envia um modelo como resposta.

Agora nesta série de tutoriais do Django para iniciantes, aprenderemos sobre os componentes do Django.

Componentes do Django

Contato

Django possui uma biblioteca de formulários poderosa que lida com a renderização de formulários como HTML. A biblioteca ajuda na validação dos dados enviados e na conversão para Python tipos.

Autenticação

Ele lida com contas de usuários, grupos, sessões de usuários baseadas em cookies, etc.

Administrador

Ele lê metadados em seus modelos para fornecer uma interface robusta que pode ser usada para gerenciar o conteúdo do seu site.

Internacionalização

Django fornece suporte para tradução de texto em vários idiomas, formatação específica de localidade de datas, horas, números e fusos horários.

Segurança

Django fornece proteção contra os seguintes ataques:

  • Falsificação de solicitação entre sites (CSRF)
  • Cross-site scripting
  • injeção SQL
  • Clickjacking
  • Execução remota de código

Empresas famosas que usam Django

Aqui estão as empresas que usam Django:

  • BitBucket
  • DISQUS
  • NASA
  • PBS (Serviço Público de Radiodifusão)
  • Pinterest
  • Instagram
  • Mozilla
  • O Washington Post
  • NY Times
  • LA Times
  • O Guardião Nacional Geográfico
  • Discovery Channel

Desvantagens de usar Django

  • Um processo não pode lidar com múltiplas solicitações simultaneamente.
  • Django é uma ferramenta muito monolítica.
  • Os componentes são implantados juntos, o que pode criar confusão.
  • Conhecimento do sistema completo necessário para trabalhar no Django
  • Torna os componentes do aplicativo da web fortemente acoplados
  • Você precisa fazer uma programação longa para tarefas menores.

Resumo

  • Django é um framework de desenvolvimento web para Python que oferece um método padrão para desenvolvimento de sites rápido e eficaz.
  • Django iniciado foi por Adian Holovaty e Simon Willison como um projeto interno no jornal Lawrence Journal-World em 2003
  • Django ajuda você a documentar sua API com uma saída HTML.
  • Django permite que você personalize o painel de administração conforme sua necessidade.
  • Django ajuda você a tornar cada elemento de sua pilha independente dos outros.
  • A principal diferença entre os padrões arquitetônicos MVC e MVT é que o próprio Django gerencia a parte Controller.
  • Os componentes essenciais da arquitetura do Django são: Formulário, Autenticação, Administração, Internacionalização, Segurança.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla, etc. usam Django
  • A maior desvantagem do Django é que ele não consegue lidar com múltiplas solicitações simultaneamente.