O que é, então, Django?

A maioria das pessoas, ao ouvir a palavra “Django” pensa no filme do Tarantino, onde um dentista alemão e caçador de recompensas, o Dr. King Schultz, consegue libertar o escravo Django (interpretado por Jamie Foxx) e usa-o para encontrar os criminosos mais procurados do Sul, transformando-o num caçador de recompensas.

Mas Django já existia antes desse filme. E Django é, também, um framework para o desenvolvimento para web, de alto nível, open source, que se ajusta ao conhecido padrão de projetos MVT (Model View Template).

O objetivo do Django é facilitar a criação de páginas web complexas, o que também é uma vantagem. Por exemplo, é possível iniciar um projeto com apenas 5 ficheiros.

Outra das vantagens é o facto de estar escrito em Python, uma linguagem de programação interpretada, cuja filosofia realça uma sintaxe que favorece um código legível, permitindo o desenvolvimento rápido de páginas web seguras e de fácil manutenção.

A origem do Django

Foi desenvolvido inicialmente entre 2003 e 2005 por uma equipa que se dedicava a criar e manter websites de jornais. Depois de criar vários websites, a equipa começou a considerar e a reutilizar muito código e padrões de projeto comuns. Este código comum transformou-se num framework web genérico de código aberto, conhecido como projeto “Django” em julho de 2005.

Por quê usar o Django?

Estas são as características que fazem do Django uma boa opção para o desenvolvimento web.

  • É completo, uma vez que segue a filosofia “bateria incluída” e proporciona ao programador quase tudo o que é necessário assim que inicia o projeto. Entre outras coisas, traz um painel de administração com o qual se pode manusear dados importantes de uma forma prática e simples.
  • É versátil e permite construir quase todos os tipos de websites, desde sistemas de gestão, redes sociais, páginas de notícias, APIs… Além disso, pode funcionar com qualquer framework do lado do cliente, e pode devolver conteúdo em muitos formatos como RSS, JSON, XML, HTML…
  • É seguro porque foi criado para cumprir sempre um padrão correto para proteger o website de forma automática. Por exemplo, proporciona uma forma segura de administrar contas de utilizador e palavras-passe, evitando erros. Além disso, oferece proteção contra vulnerabilidades nas bases de dados, como injeção de SQL, scripts entre páginas, clickjacking…
  • É escalável: usa um componente baseado na arquitetura “shared-nothing” (cada parte da arquitetura é independente das outras)
  • É sustentável: o código de Django está escrito com princípios e padrões de projeto para fomentar a criação de código reutilizável e de fácil manutenção
  • É portável visto que é escrito em Python, o qual se pode executar em muitas plataformas como Linux, Windows e Mac OS
  • Tem uma comunidade próspera e ativa, um grande arquivo e muitas opções de suporte gratuito e pago. Além disso, o Django tem o apoio de muitos fornecedores de alojamento web.
  • A ferramenta ORM ajuda a executar o SQL, sem necessidade de recorrer à linguagem SQL, ao que se chama interface de acesso à base de dados.

Vejamos um exemplo de como seria com um SQL normal ou com o ORM do Django:

Consulta sem ORM Consulta com ORM
SELECT * FROM SELECT * FROM “autores_autor” INNER JOIN “autor_libro” ON (“autores_autor”.”id” = “autores_libro”.”autor_id”)

INNER JOIN “autores_libro_librerias” ON (“autores_libro”.”id” = “autores_libro_librerias”.”libro_id”)

INNER JOIN “autores_libreria” ON (“autores_libro_librerias”.”libreria_id” = “autores_libreria”.”id”) WHERE “autores_libreria”.”nombre” = “La Cultura”

Autor.objects.filter(libros__libreria__nombre = “La Cultura”)

 

Que tipo de websites usam Django?

Penso que os exemplos seguintes serão mais familiares…

Vamos começar a usar o Django?

Se, depois de ler o artigo, precisar de construir um website, o Django pode ser a solução. Não sabe como começar? Na Sothis podemos ajudá-lo!