Tutorial de Django: Recursos, Archiarquitetura e história

⚡ Resumo Inteligente

Django é um software livre e de código aberto. Python Framework web construído com base no padrão modelo-visão-template (MVT), que permite o desenvolvimento rápido de sites seguros, escaláveis ​​e orientados a banco de dados por meio de componentes reutilizáveis, uma interface administrativa automática e um design completo e pronto para uso.

  • 🔘 Estrutura: Django é um ambiente de alto nível. Python Framework para construir rapidamente aplicações web complexas, orientadas a banco de dados.
  • ☑️ Architextura: O padrão Model-View-Template (MVT) permite que o Django gerencie o controlador e separe dados, lógica e apresentação.
  • Pilhas incluídas: Recursos integrados de administração, autenticação, formulários e internacionalização eliminam a maior parte do trabalho repetitivo de configuração.
  • 🛠️ Segurança: As medidas de segurança padrão bloqueiam ataques CSRF, cross-site scripting, injeção de SQL e clickjacking.
  • 🧪 Escala: InstagramPinterest, Mozilla e Disqus dependem do Django para lidar com um tráfego muito alto.
  • 🤖 AI: O Django disponibiliza modelos de aprendizado de máquina como APIs, e assistentes como o GitHub Copilot aceleram a codificação do backend.

Tutorial de Django para Iniciantes

O Django alimenta alguns dos maiores sites da web, enquanto mantémping Desenvolvimento diário rápido e organizado. Antes de explorar seus recursos, arquitetura e história, as seções abaixo começam com os conceitos básicos de frameworks web e o que torna o Django único.

Resumo do tutorial Django

Este tutorial de Django aborda todos os tópicos básicos desde o início. Nele, você aprenderá conceitos como o que é Django, sua história, seus recursos, as características do framework Django, os componentes do Django, suas vantagens e desvantagens, e muito mais.

Antes de aprendermos Django, vamos entender o seguinte:

O que é um Web Framework?

Um framework web é uma biblioteca de código que ajuda você a construir um site, aplicativo web ou serviço web dinâmico, flexível, escalável e de fácil manutenção. Alguns exemplos de frameworks web são o Zend para PHP, Ruby on Rails Para Ruby e outros.

O que é Django?

Django é uma estrutura de desenvolvimento web para Python que oferece métodos padronizados para o desenvolvimento rápido e eficaz de websites. O principal objetivo dessa estrutura web de alto nível é criar websites complexos orientados a banco de dados. Ela ajuda você a construir e manter aplicações web de qualidade. Permite que você torne o processo de desenvolvimento mais ágil e rápido.

Por que Django? Principais vantagens do Django

Aqui estão as principais vantagens do Django:

  • O Django é fácil de configurar e executar. Ele oferece diversas opções para começar.
  • Ela fornece uma interface de usuário pronta para uso para atividades administrativas.
  • Ele permite a criação de sites multilíngues através do seu sistema de internacionalização integrado.
  • Isso ajuda você a atender rapidamente a demandas de tráfego massivas.
  • O Django é usado para construir todos os tipos de sistemas de gerenciamento de conteúdo, redes sociais, bem como plataformas de computação científica.
  • O Django ajuda você a fornecer testes de aplicação de ponta a ponta.
  • Isso ajuda você a documentar sua API com uma saída em HTML.
  • O framework REST oferece amplo suporte a diversos protocolos de autenticação.
  • Oferece permissões e políticas de limitação de taxa.
  • É 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 Adrian Holovaty e Simon Willison como um projeto interno do jornal Lawrence Journal-World.
Julho de 2005 Foi lançado em julho de 2005 com o título "Django", em homenagem ao guitarrista de jazz Django Reinhardt.
junho de 2008 Foi declarado que um software Django Foundation (DSF) manteria o Django.
29 de Julho de 2009 O Django 1.1 foi lançado com recursos como agregações e testes baseados em transações.
17 de maio de 2010 O Django 1.2 foi lançado. A atualização ofereceu recursos como suporte a múltiplos bancos de dados e um backend de e-mail, além de melhorias para sessões e cookies.
Março 23 2011 A versão 1.3 introduziu funcionalidades como visualizações baseadas em classes e arquivos estáticos.
Março 23 2012 A versão 1.4 foi lançada com novos recursos, como fusos horários e testes no navegador.
Fevereiro 26 2013 A versão 1.5 veio com Python 3 recursos de suporte e modelo de usuário configuráveis.
6 2013 novembro A versão 1.6 incluía recursos de gerenciamento de transações de banco de dados e de agrupamento de conexões.
2 setembro 2014 A versão 1.7 trazia novos recursos, como carregamento de aplicativos, migrações e configuração.
Abril 1 2015 Foi fornecido suporte nativo para vários mecanismos de modelos.
1 Dec 2015 Na versão 1.9, foi introduzida uma funcionalidade de validação automática de senhas.
Agosto 1 2016 Na versão 1.10, a pesquisa de texto completo para PostgreSQL foi lançado.
Abril 4 2017 A versão 1.11 tornou-se a última versão a oferecer suporte a essa funcionalidade. Python 2.7.
2 Dec 2017 A versão 2.0 tornou-se a primeira Python Versão de lançamento exclusiva para 3 dispositivos.
Agosto 1 2018 A versão 2.1 trouxe recursos de suporte à permissão de "visualização" do modelo.
2021 Removemos o suporte para Django 3.0 e adicionamos suporte para Django 3.2.

Neste tutorial de 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 o URLs em sua inscrição.
  • Simples mas poderoso URL sistema.
  • Sistema de autenticação integrado.
  • Um banco de dados baseado em linguagem de programação orientada a objetos que oferece armazenamento e recuperação de dados de primeira linha.
  • O recurso de interface administrativa automática permite adicionar, editar e excluir itens. Você pode personalizar o painel administrativo de acordo com suas necessidades.
  • A estrutura de cache inclui vários mecanismos de cache.

Neste tutorial sobre o framework Django, aprenderemos sobre as características do Django.

Características do Django

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

  • Fracamente acoplada – O Django ajuda você a tornar cada elemento de sua pilha independente dos demais.
  • Less código – Garante um desenvolvimento eficaz.
  • Não repetido – Tudo deve ser desenvolvido em um único local, em vez de ser repetido várias vezes.
  • Desenvolvimento rápido – O Django oferece desenvolvimento de aplicações rápido e confiável.
  • Design consistente – O Django mantém um design limpo e facilita a adoção 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 uma interface de usuário (web ou desktop), geralmente falamos da arquitetura MVC. O padrão MVC é baseado em Modelo, Visão e Controlador.

O Modelo Define a estrutura de dados e se encarrega de consultar o banco de dados.

O Consultar define quais dados devem ser apresentados e retorna uma resposta HTTP.

O Responsável pelo Tratamento É a parte do aplicativo que lida com a interação do usuário.

Padrão Django MVC-MVT

O padrão Model-View-Template (MVT) é um conceito diferente do MVC. A principal diferença entre esses dois padrões arquiteturais é que o próprio Django gerencia a parte do Controller (o código de software que controla as interações entre o Modelo e a Visão). O template é um arquivo HTML que é combinado com um arquivo da Linguagem de Template do Django, também chamada de DTL.

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

Django ArchiEstrutura: MVC e MVT

extensão MVT Archiarquitetura

Como pode ser visto no diagrama acima, um usuário solicita um recurso do Django. O Django atua como um controlador e verifica a disponibilidade do recurso no repositório. URL.

Se o URL No mapa, é criada uma visualização que interage com o modelo e o template. O Django então responde ao usuário e envia um template como resposta.

Nesta série de tutoriais de 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 gerencia contas de usuário, grupos, sessões de usuário baseadas em cookies e muito mais.

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

O Django oferece suporte para a tradução de texto para vários idiomas, além de formatação específica de datas, horas, números e fusos horários para cada localidade.

Total

O Django oferece proteções 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 algumas empresas que estão usando Django:

  • Bitbucket
  • Disqus
  • NASA
  • PBS (Serviço Público de Radiodifusão)
  • Pinterest
  • Instagram
  • Mozilla
  • O Washington Post
  • The New York Times
  • Los Angeles Times
  • The Guardian
  • National Geographic
  • Discovery Channel

Desvantagens de usar Django

Aqui estão algumas desvantagens de usar o Django:

  • Um único processo não pode lidar com várias solicitações simultaneamente.
  • Django é uma ferramenta muito monolítica.
  • Os componentes são implantados juntos, o que pode gerar confusão.
  • É necessário conhecimento de todo o sistema para trabalhar com Django.
  • Isso faz com que os componentes da aplicação web fiquem fortemente acoplados.
  • Você precisa fazer uma programação longa para tarefas menores.

Perguntas Frequentes

O Django é principalmente um framework de backend, embora seja frequentemente descrito como full-stack porque sua camada de templates renderiza HTML. Ele gerencia a lógica do lado do servidor, bancos de dados, roteamento e segurança, enquanto os templates cuidam da apresentação para o navegador.

Django é um framework completo e abrangente, com ORM, painel administrativo e autenticação integrados. Flask é um microframework leve que se mantém minimalista e depende de extensões para essas mesmas funcionalidades, oferecendo aos desenvolvedores maior controle manual.

O Django ORM, ou mapeador objeto-relacional, permite que você defina tabelas de banco de dados como Python classes e consultá-las com Python código em vez de SQL puro. Ele suporta bancos de dados como PostgreSQL, MySQL, SQLite e Oracle.

Execute o comando `python -m django --version` na linha de comando ou abra um arquivo. Python Execute o comando `shell` e depois `import django`, seguido de `print(django.get_version())`. Ambos exibem o número da versão do Django instalada.

Middleware é uma série de hooks que processa todas as requisições e respostas globalmente. O Django usa middleware para sessões, autenticação, proteção contra CSRF e cabeçalhos de segurança, cada um sendo executado em sequência antes e depois da execução da sua view.

Um conhecimento prático de Python É necessário conhecimento de conceitos básicos da web, como HTTP, HTML e bancos de dados. Compreender a programação orientada a objetos facilita muito o aprendizado dos modelos e das visualizações baseadas em classes do Django.

Sim. O Django frequentemente disponibiliza modelos de aprendizado de máquina por meio de views ou do Django REST Framework, expondo previsões como endpoints de API. Um modelo treinado é carregado uma única vez na inicialização e retorna os resultados da inferência para clientes web ou mobile.

O GitHub Copilot e assistentes de IA semelhantes completam automaticamente modelos e visualizações do Django. URL Padrões e testes podem servir de base para código repetitivo e sem formatação. Eles aceleram o desenvolvimento, embora o código gerado deva sempre ser revisado quanto à segurança e correção.

Resuma esta postagem com: