Você está na página 1de 7

IBM SkillsBuild | Introdução à Python

Django
O que é Django?

1
IBM SkillsBuild | Introdução à Python

Índice
Introdução 3
História 4
Model, template e view 6
Quem usa Django? 7
Por que devemos usar Django? 7
Por que é melhor do que WordPress? 7

2
IBM SkillsBuild | Introdução à Python

Introdução
Django é um framework de desenvolvimento web que
se concentra em facilitar a construção de aplicações
web de alta qualidade. Para conseguir isso, Django
fornece um conjunto abrangente de ferramentas e
Django é um framwork web, ou seja, uma plataforma
recursos que facilitam o desenvolvimento de
de desenvolvimento de alto nível, focada na web,
aplicações web. Algumas das coisas que você pode
escrita em Python, que encoraja o desenvolvimento
fazer com Django incluem:
rápido e o design limpo e pragmático. Não é um CMS
em si, mas uma ferramenta que simplifica a • Criar aplicações web rapidamente: Django
construção de websites a partir do zero. Este ponto inclui muitos componentes comuns que você
freqüentemente cria confusão, já que o Django é precisaria para construir uma aplicação web, tais
frequentemente comparado ao Wordpress e eles são como um sistema de autenticação, um sistema
duas ferramentas completamente diferentes. de gerenciamento de banco de dados e um
sistema de apresentação de conteúdo na web.
Como utiliza uma licença BSD, ela é gratuita e de
Isto permite que você se concentre na lógica
código aberto.
específica de sua aplicação ao invés de ter que
Ele fornece uma estrutura para o desenvolvimento de reinventar a roda toda vez.
aplicações web de forma rápida e segura, com foco • Escala facilmente: O Django foi projetado desde
na reutilização do código e na separação de o início para ser escalável. Tem sido usado para
preocupações. construir alguns dos maiores e mais populares
websites do mundo, e é capaz de lidar com
Algumas das características incluídas são: um
milhares de pedidos simultâneos sem
modelo de projeto sólido, um sistema robusto de
problemas.
gerenciamento de banco de dados e uma ferramenta
• Segurança: Django ajuda você a proteger seu
de gerenciamento de conteúdo... etc.
website contra ataques comuns, tais como
Django tem sido usado para construir alguns dos injeções SQL e ataques de cross-site scripting.
sites mais populares do mundo, tais como Instagram Ele também fornece ferramentas para ajudá-lo a
e The Washington Times. cumprir as normas de privacidade e segurança de
dados, tais como a GDPR.
Django é um dos frameworks mais populares para • Documentação extensa: Django vem com
criar aplicações web usando Python e, por sua vez, documentação extensa, o que significa que é fácil
Python é uma das linguagens de programação mais aprender a usá-la e obter ajuda quando você
versáteis que existe. Ele é usado em ciência de precisar dela. Há também muitos tutoriais e
dados, segurança, web scraping, é claro, também na recursos on-line disponíveis para o aprendizado
criação de aplicações web. do Django.

Por ser Python, Django permite que o desenvolvedor A enorme estrutura web de Django vem com tantas
escreva o código de forma ágil. O resultado é menos "baterias incluídas" que os desenvolvedores muitas
linhas de código e, conseqüentemente, menos vezes ficam surpresos com a forma como tudo
chance de bugs. Daí a alegação de que ele "encoraja funciona junto. O princípio por trás da adição de
o desenvolvimento rápido e o design limpo e tantas baterias é ter funcionalidades web comuns na
pragmático". própria estrutura, em vez de adicionar esta última
como uma biblioteca separada.

3
IBM SkillsBuild | Introdução à Python

Outra razão importante por trás da popularidade da Django também inclui um robusto sistema de
framework Django é a enorme comunidade que a gerenciamento de banco de dados que permite aos
compõe. A comunidade é tão grande que um site desenvolvedores interagir facilmente com bancos de
separado foi dedicado a ela, onde desenvolvedores dados relacionais. O sistema de ORM (Object-
de todos os cantos desenvolveram pacotes de Relational Mapping) da Django converte
terceiros que incluem autenticação, autorização, automaticamente tabelas de banco de dados em
sistemas CMS completos alimentados pelo Django, objetos Python, facilitando o gerenciamento de
add-ons de comércio eletrônico e assim por diante. dados e reduzindo a quantidade de código
Há uma alta probabilidade de que o que estamos necessário.
tentando desenvolver já tenha sido desenvolvido por
Além dessas características, Django inclui uma
outra pessoa e nós só precisamos incluí-lo em nosso
variedade de ferramentas e recursos adicionais que
projeto.
facilitam o desenvolvimento da web, tais como um
O Django nos permite comunicar nossas aplicações sistema de roteamento de URL, um sistema de
com bancos de dados, criar interfaces html, ter um autenticação e autorização, e um sistema de
painel de administração para nossa aplicação, etc., formulários.
além de nos permitir criar projetos rapidamente,
trazendo-nos as funcionalidades mais comuns já
feitas.
História
A filosofia de trabalho da Django nos permite criar
websites (complexos) de forma rápida e fácil.
Os inícios da Django são dados a partir do século 21,
Há tarefas que são repetitivas, pesadas e comuns ao
a empresa naquela época The World Company of
criar diferentes websites. O Django facilita a
Lawrence localizada no Kansas - Estados Unidos,
realização dessas tarefas.
tinha muita demanda e precisava cobri-los em seu

Há código que podemos reutilizar de um site para site, o grupo de desenvolvedores internos da

outro. Django também permite esta reutilização de empresa decidiu criar muitas aplicações para

uma maneira simples. otimizar os processos na empresa, os projetos foram


feitos com a linguagem de programação PHP, mas no
Ele fornece uma série de ferramentas para facilitar a outono de 2003 decidiu parar de usar PHP para
criação de páginas, seguindo os princípios do DRY começar a usar Python como a principal linguagem
(Don't Repeat Yourself) para evitar a duplicação de de programação.
linhas de código e investir o mínimo de esforço
possível. Por exemplo, a criação de um painel básico Eles começaram com uma aplicação base e com o

de administração requer apenas um par de linhas de passar do tempo começaram a criar novos módulos

Python. para cobrir a demanda por notícias instantâneas em


seu site e neste processo de múltiplas melhorias em
Outra característica importante do Django é seu sua aplicação eles criaram uma estrutura muito
sistema de templates, que permite que os poderosa que se tornaria Django.
desenvolvedores criem vistas da web usando
templates pré-definidos. Isto facilita a criação de
layouts consistentes e economiza tempo por não ter
que escrever código HTML do zero.

4
IBM SkillsBuild | Introdução à Python

No verão de 2005, a empresa decidiu lançar esta


estrutura como código aberto que, ironicamente,
também foi feito com uma linguagem Python de
código aberto e foi bonito que a comunidade de
desenvolvedores começou a apoiá-la, melhorá-la e
usá-la para seus projetos pessoais.

A Django começou a se tornar popular devido a suas


excelentes características, tais como rápido
desenvolvimento, implementação e facilidade de
uso. O nome Django foi inspirado pelo nome do
famoso guitarrista Django Reinhardt na época e
considerado um dos maiores guitarristas de todos os
tempos.

Os desenvolvedores originais da Django foram:

• Adrian Holovaty
• Simon Willison
• Jacob Kaplan-Moss
• Wilson Miner

A comunidade da Django Developers cresceu e agora


há dezenas delas apoiando esta estrutura e cada
nova versão faz novas melhorias em seu core.

Django 1.0 foi lançado em setembro de 2008, esta


primeira versão continha muitas características que
definem o Django hoje, incluindo sua arquitetura MVT
(Model, View, Template), ORM, sistema de
nomenclatura URL usando expressões regulares e
templates, com o tempo a arquitetura MVT se
tornaria popular, mas seu ORM o tornou uma das
características mais importantes do Django.

Versões subseqüentes do Django trouxeram consigo


muitas melhorias como proteção CSRF, Migrações,
Middlewares, etc.

Os novos frameworks que surgiram optaram por


implementar em seus cores estas características que
eram exclusivas da Django.

Django está atualmente entre os melhores


Frameworks para o desenvolvimento web.

5
IBM SkillsBuild | Introdução à Python

MVC torna as aplicações mais simples e mais

Model, template e view escalonáveis.

Django não usa exatamente MVC, mas usa um padrão


muito semelhante.
A estrutura da Django é baseada na MVC (Model-
View-Controller), portanto, as diferentes partes do Django muda os elementos que acabamos de ver,
site estão claramente separadas em módulos. Por modelo, vista e controlador para model, template e
exemplo, o código de acesso aos dados é view, embora, para fins práticos, a filosofia seja a
completamente independente do código que rege a mesma.
aparência externa da página.

• O modelo está encarregado de gerenciar os


dados, obter informações de um banco de dados,
etc.
• A vista é responsável por exibir informações para
o usuário.
• O controlador é o módulo encarregado de
gerenciar todas as comunicações entre a visão e
o modelo.

6
IBM SkillsBuild | Introdução à Python

Quem usa Django?


Se você planeja criar uma aplicação altamente
personalizável, como um site de rede social, Django é
uma das melhores estruturas a considerar. A força do
Django está em sua interação entre os usuários ou
O Django é usado por uma variedade de organizações
em sua capacidade de compartilhar diferentes tipos
e indivíduos para desenvolver aplicações web. Alguns
de mídia. Uma das grandes vantagens do Django é
exemplos incluem:
sua capacidade de usar um grande suporte baseado
• Empresas: Muitas empresas grandes e na comunidade que lhe dá plugins de terceiros
pequenas usam Django para desenvolver altamente personalizáveis prontos para usar em suas
aplicações web internas e sites de comércio aplicações.
eletrônico. Exemplos notáveis incluem
Instagram, Spotify, e Dropbox.
• Startups: Muitas startups usam o Django

Por que é melhor do que


para construir suas primeiras aplicações web
devido a seu rápido desenvolvimento e
escalabilidade.
• Desenvolvedores independentes: Django é WordPress?
uma escolha popular entre os
desenvolvedores independentes devido à sua
grande comunidade e à grande variedade de Django e WordPress são duas plataformas diferentes
documentação e recursos disponíveis. com finalidades e usos diferentes.
• Instituições educacionais: Django é usado
em muitas instituições educacionais como WordPress é uma plataforma de gerenciamento de
uma ferramenta para o desenvolvimento de conteúdo (CMS) que é usada principalmente para
projetos e tarefas relacionadas à criar e gerenciar blogs e sites de pequenas empresas.
programação da aprendizagem. É fácil de usar, tem uma grande comunidade e uma
• Organizações sem fins lucrativos: Django é grande variedade de temas e plugins disponíveis para
utilizado por organizações sem fins lucrativos personalizar o visual e a aparência do site.
para desenvolver websites de baixo custo e
alta qualidade. Por outro lado, Django é uma estrutura de
Em resumo, o Django é utilizado por uma grande desenvolvimento web utilizada para construir
variedade de organizações e indivíduos, desde aplicações web de forma rápida e segura. É uma
grandes empresas a desenvolvedores ferramenta para desenvolvedores com experiência
independentes, startups, instituições educacionais e em programação que estão procurando construir
organizações sem fins lucrativos. aplicações web complexas e escaláveis. É mais
adequado para projetos que requerem um alto grau
de personalização e flexibilidade em comparação
com o WordPress.
Por que devemos usar Em resumo, WordPress é uma excelente escolha

Django? para a construção de websites de pequena e média


escala, enquanto Django é uma ferramenta para
desenvolvedores web que buscam construir
O Django é projetado de forma a encorajar os aplicações web complexas e escaláveis. Em
desenvolvedores a criarem sites rápidos, limpos e de WordPress, você não precisa codificar; em Django,
design prático. A abordagem prática de Django para você precisa.
fazer as coisas é onde ela se destaca da multidão.

Você também pode gostar