O que é Django?
O framework da Web Django é um framework de software livre sem custo, que pode acelerar o desenvolvimento de um aplicativo da Web construído na linguagem de programação Python.
Plano de fundo azul e preto
O que é Django?

O framework da Web Django é um framework de software livre sem custo, que pode acelerar o desenvolvimento de um aplicativo da Web construído na linguagem de programação Python. 

Django (pronuncia-se "Jango"), nome dado em homenagem ao famoso guitarrista de jazz Django Reinhardt, é um framework de software livre e sem custo que foi lançado publicamente pela primeira vez em 2005. O Django facilita “desenvolvimento rápido e design limpo e pragmático”. O framework da Web Django, implementado em um servidor da web, pode ajudar os desenvolvedores a produzir rapidamente um front-end da Web rico em recursos, seguro e escalável.

Começar com o framework da Web Django é uma maneira mais eficiente de criar um aplicativo da Web do que começar do zero, o que requer a construção de back-end, APIs, javascript e sitemaps. Com o framework da Web Django, os desenvolvedores da Web podem se concentrar na criação de um aplicativo exclusivo e se beneficiar de maior flexibilidade do que usar uma ferramenta de desenvolvimento da Web.

Conhecendo o framework da Web Django

Você precisa de mais informações para descobrir o que é Django e como ele é usado? Você deseja ter experiência prática trabalhando com um aplicativo da Web criado usando o framework da Web Django? A IBM oferece um tutorial passo a passo  para usar os serviços IBM Cloud  para rastrear atividades e monitorar a integridade de um aplicativo  Kubernetes  baseado em Python escrito usando o framework da Web Django e em execução na IBM Cloud.

Com todos os frameworks da Web Python para escolher, por que escolher o framework da Web Django? Pode não ser o mais fácil de usar e certamente não é o mais novo. No entanto, o framework da Web do Django pode ser a opção certa quando você está construindo um aplicativo da Web que envolve cross-site scripting e espera-se que lide com um grande número de usuários ou um conjunto complexo de recursos, como conectividade de API ou autenticação do usuário. Com base no número de projetos no GitHub, ele também é muito popular.

Qualquer pessoa proficiente na linguagem de programação Python e sua sintaxe é capaz de iniciar um projeto usando o framework da Web Django para criar um  aplicativo da Web. (Observação: embora a maior parte do núcleo do Django seja Python, os aplicativos admin e gis contrib contêm código JavaScript). No entanto, desenvolvedores Django intermediários a avançados podem capitalizar melhor os modelos Django, que são recursos mais sofisticados.

Pacotes com recursos essenciais

O framework da Web Django está em uso há mais de uma década e foi exaustivamente testado e aprimorado por uma comunidade muito ativa. Tem até uma organização sem fins lucrativos; a fundação de software Django promove, suporta e avança o framework da Web Django. A maior força do Django é seu grande conjunto de recursos – com mais de 10.000 pacotes Django, o framework abrange praticamente tudo o que você precisa que um aplicativo da Web faça. Os pacotes incluem APIs,  sistemas de gerenciamento de conteúdo, autenticação de usuário, validação de formulário e proteção CAPTCHA.

A base de usuários do framework da Web Django oferece apoio e é dedicada, cheia de talentosos desenvolvedores Django que oferecem seu tempo e experiência para desenvolver, melhorar e corrigir a base de software Django. Seu aplicativo pode se beneficiar desse compromisso usando os pacotes bem projetados disponíveis para qualquer pessoa que construa com Django.

Benefícios

Torne o gerenciamento de banco de dados mais semelhante ao Python

Iniciar um projeto Django permite que você construa todo o modelo de dados do seu aplicativo em Python sem precisar usar SQL. Usando um mapeador relacional de objeto (ORM), o Django converte a estrutura de banco de dados tradicional em classes Python para facilitar o trabalho em um ambiente totalmente Python. Django-MySQL suporta o tipo de dados JSON e funções relacionadas.

No Django, suas tabelas de banco de dados se tornam classes Python. Os aplicativos da Web acessam e gerenciam dados por meio de modelos Django. Os campos do banco de dados são simplesmente convertidos em atributos de classe. Se você estiver familiarizado com a definição de atributo de classe em Python, poderá projetar e gerenciar facilmente um banco de dados Django.

O framework da Web Django oferece um atalho para integração total com o banco de dados do seu aplicativo. Ele fornece funcionalidade CRUD (criar, ler, atualizar, excluir), HttpResponse e cross-site scripting, fornece recursos de gerenciamento de usuários, oferece recursos de administração de software e muito mais. Você importa os pacotes, conecta-se ao seu banco de dados e volta ao trabalho desenvolvendo as partes de seu aplicativo que tornam seu produto único.

Crie páginas dinâmicas com modelos

Como o Django foi projetado para ser usado no desenvolvimento de aplicativos da Web, ele precisa de uma maneira fácil de criar um HTML dinâmico que exiba os dados exclusivos do usuário. O aplicativo Django produz esse HTML dinâmico com um mecanismo de modelagem integrado chamado Django template language (DTL).

Um modelo HTML permite que os desenvolvedores do Django combinem elementos estáticos (incluindo elementos de design, como cores, logotipos ou texto) com dados (como nomes de usuário ou locais) para criar uma nova página da Web em tempo real. Com o model-view-controller (MVC), se você deseja que seu aplicativo cumprimente um usuário pelo nome quando ele fizer login, é possível criar um modelo que exiba o texto estático ("Bem-vindo ao site, X") e usar um espaço reservado dinâmico para exibir automaticamente o primeiro nome do usuário de seu banco de dados. Quando a página for renderizada, ela combinará os elementos dinâmicos com os estáticos para criar uma experiência de usuário perfeita.

Aprimore a segurança

Ao responder "O que é o Django", devemos falar sobre quais recursos especiais o Django oferece para segurança. Aplicativos da Web são alvos frequentes de hackers, especialmente aplicativos que armazenam informações de login do usuário ou dados financeiros. O Django oferece recursos para ajudar a proteger seu aplicativo e seus usuários.

Um dos maiores riscos para sites que aceitam dados inseridos pelo usuário é que um usuário mal-intencionado injete um código com seus dados que pode ter um efeito desastroso em seu sistema. Para se proteger contra ataques como esses, os modelos Django escapam automaticamente de caracteres HTML comuns em qualquer campo inserido pelo usuário. Por exemplo, ele converterá automaticamente ‘<’ em ‘<’ para dificultar a injeção de código malicioso em seu programa. O Django protege contra injeção de SQL de maneira semelhante, reinterpretando comandos não autorizados para que os usuários não consigam inserir seu próprio código em seu banco de dados.

Os desenvolvedores da Web também podem contar com as APIs do Django para usar automaticamente proteção contra falsificação de solicitação entre sites (CSRF) para inserir tokens secretos específicos do usuário em solicitações POST. Como resultado, os desenvolvedores da Web podem impedir que usuários mal-intencionados dupliquem outras solicitações POST para se fazer passar por usuários autorizados.

A proteção do Django vai além de seus recursos de segurança explícitos: os esforços de segurança são aprimorados pela ampla experiência e especialização da base de usuários do Django. Se você criar todo o seu aplicativo da Web do zero, correrá o risco de introduzir acidentalmente uma vulnerabilidade de segurança em seu módulo. Os pacotes Django são amplamente usados, de software livre e bem revisados por desenvolvedores da Web, então você pode ter mais certeza de que eles protegerão seus dados.

Ajuste de escala do Django

Um dos maiores desafios no desenvolvimento da Web é a escalabilidade. Seu aplicativo deve manipular exatamente o número de conexões ativas necessárias em um determinado momento. Se as conexões excederem sua estimativa, seus usuários sofrerão atrasos e tempo de inatividade. Faça uma estimativa muito conservadora e você pagará pela largura de banda e pelos servidores da Web que não estiver usando. Você precisa de um aplicativo que possa crescer à medida que você ganha mais usuários.

Um framework da Web Django facilita o ajuste de escala. Como um aplicativo Django pode gerenciar suas sessões de usuário, é possível incluir mais instâncias de seu aplicativo e transferir a experiência do usuário entre as instâncias sem perder dados. Muitos desenvolvedores de projetos Django também usam um gerenciador de cache como o Varnish para pré-carregar os elementos estáticos do site para os usuários.

Você precisará configurar cuidadosamente o gerenciador de cache para evitar o armazenamento acidental em cache de todo o site, incluindo os elementos dinâmicos. Um cache mal configurado também pode levar ao compartilhamento de dados de um usuário para outro. É possível evitar o excesso de cache usando o framework de cache nativo (mas limitado) do Django em conjunto com um gerenciador de cache externo para liberar recursos de desempenho enquanto é seletivo no que está armazenado.

Ao responder à pergunta "O que é o Django", uma resposta é que ele é um framework da Web altamente escalável. Quão escalável é? Instagram e Disqus estão entre os sites muito grandes que usam o Django para dar suporte a suas enormes bases de usuários.

Soluções relacionadas
IBM Cloud

A IBM Cloud with Red Hat oferece segurança líder no mercado, escalabilidade corporativa e inovação aberta para aproveitar todo o potencial da cloud e da IA.

Conheça a IBM Cloud
Recursos Tutorial: Analisar logs e monitorar a integridade do aplicativo

Um tutorial passo a passo para desenvolvedores da Web que usam os serviços IBM Cloud para rastrear atividades e monitorar o funcionamento de um aplicativo Kubernetes baseado em Python escrito usando Django e em execução na IBM Cloud.

O que é Kubernetes?

Kubernetes é uma plataforma de orquestração de contêiner de software livre que automatiza a implementação, o gerenciamento e o dimensionamento de aplicativos. Saiba como ela possibilita o desenvolvimento nativo em cloud com boa relação custo-benefício.

Dê o próximo passo

IBM Cloud é uma plataforma de nuvem de pilha completa com mais de 170 produtos e serviços que abrangem dados, contêineres, IA, IoT e blockchain.Use sua infraestrutura existente – até mesmo edge ou outras nuvens públicas – com serviços IBM Cloud, APIs, políticas de acesso, controles de segurança e conformidade com o IBM Cloud Satellite.

Saiba mais sobre a IBM Cloud