Loading presentation...
Prezi is an interactive zooming presentation

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

O que é Django?

No description
by

Rafael Jacinto

on 21 November 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of O que é Django?

O que é framework?
Onde encontramos Django?
Pontos Positivos e Negativos
Como trabalha o Django?
like comment share
Ao se trabalhar com Django, utlizamos o desenvolvimento em camadas, que facilita tanto o desenvolvimento quanto a manutenção de qualquer sistema. Sempre que ouvimos falar em camadas nos vem à cabeça o padrão MVC. O Django utiliza este mesmo padrão, mas por convenção os idealizadores do Django optaram por chamar as camadas que o Django trabalha por MTV, que são os já conhecidos Models, Templates, e Views.
Framework é um "esqueleto", um modelo, que te propicia o essencial para desenvolver alguma coisa. Um framework possui código fonte porém não executa. Um Framework é semelhante a uma biblioteca, onde componentes de software são organizados para poderem ser reutilizados pelas aplicações. Os bancos de dados que o Django conhece são o MySQL, PostgreSQL, SQLite, Oracle e Microsoft SQL Server.
Então como ele funciona?
like comment share
Alguns aspectos positivos de Django


Então resumindo a história, o Django funciona assim:
Principais caracteristicas
Mapeamento Objeto-Relacional (ORM )

Interface Administrativa

Formulários

URLs Amigáveis

Sistema de Templates

Internacionalização


O que é Django?
Django é um framework para desenvolvimento rápido para web, escrito em Python, que utiliza o padrão MTV (model - template - view). Foi criado originalmente como sistema para gerenciar um site jornalístico na cidade de Lawrence, no Kansas. Tornou-se um projeto de código aberto e foi publicado sob a licença BSD em 2005. É um framework para perfeccionistas.
1. Você tem um navegador, o Firefox por exemplo;
2. Você entra no navegador e digita o endereço do seu site;
3. O site é feito em Django, usando a linguagem Python;
4. Através do Django, seu site acessa dados do Banco de Dados e em arquivos locais e retorna para seu navegador uma bela página com funcionalidades em geral;
5. Você olha sorridente para o navegador e vê o resultado final


Com o ORM do Django você define a modelagem de dados através de classes em Python. Com isso é possível gerar suas tabelas no banco de dados e manipulá-las sem necessidade de utilizar SQL (o que também é possível).
Com o ORM do Django você define a modelagem de dados através de classes em Python. Com isso é possível gerar suas tabelas no banco de dados e manipulá-las sem necessidade de utilizar SQL (o que também é possível).
Mapeamento Objeto-Relacional (ORM )
Interface Administrativa
No Django é possível gerar automaticamente uma interface para administração para os modelos criados através do ORM.
Formulários
É possível gerar formulários automaticamente através dos modelos de dados.
URLs Amigáveis
No Django não há limitações para criação de URLs amigáveis e de maneira simples.
URLs amigáveis são aquelas de fácil compreensão para todos nós e para os buscadores, você bate olho e entende do que trata a página.

Sistema de Templates
O Django tem uma linguagem de templates poderosa, extensível e amigável. Com ela você pode separar design, conteúdo e código em Python. O Django possui um sistema de cache que se integra ao memcached ou em outros frameworks de cache.
Em computação, memcached é um sistema de cache em memória distribuído de propósitos.

Internacionalização
Django tem total suporte para aplicações multi-idioma, deixando você especificar strings de tradução e fornecendo ganchos para funcionalidades específicas do idioma.
Alguns aspectos negativos de Django

Batteries Included
O fato de vir com várias coisas de “fábrica”, ajuda muito o desenvolvimento, evita que o desenvolvedor perca muito tempo fazendo muitas escolhas e configurações. Muita gente afirma que prefere fazer suas escolhas em relação aos aspectos do projeto, entretanto se você desejar fazer um projeto de fato organizado e bem estruturado você levará um bom tempo para organizá-lo e configurá-lo, se formos procurar esqueletos de projetos em flask ou pyramid (mesmo com o scaffold) por exemplo, vamos ver muito código para deixar as coisas de fato organizadas para começar um projeto de pequeno/médio porte (de grande nem se fala). Além disso o fato de fazer escolhas por você não significa que você precisa adotar todas as escolhas, django é bastante flexível (sim ele é) e você pode deixar de usar algumas coisas, o problema é que quando você começa a “cancelar” algumas escolhas que ele faz por você, o desenvolvimento começa a perder produtividade.
Comunidade
Django sem dúvida nenhuma tem a maior comunidade e aceitação entre os frameworks web Python. Você conseguirá tirar quaisquer dúvidas e usar diversos apps prontos para quase tudo que você precise.
Estrutura
Django tem uma excelente estrutura base para projetos, você organiza seu projeto em apps tornando o projeto bem estruturado desde o início e facilita a integração entre projetos e apps de terceiros.
Simplicidade
A startproject do django gera poucos arquivos e pastas, o ORM é um dos mais simples, o sistema de templates também, tudo gira em torno da simplicidade e do DRY.
Projetos muito pequenos
Para projetos muito pequenos django perde um pouco da sua simplicidade, porque ele já considera que você vai precisar de um banco relacional e de diversas outras configurações. Nesses casos o Flask, Bottle e outros microframeworks se saem muito melhor.
Aprendizado
Para ensinar Python e Web, django também não se sai bem, pelo mesmo fato de ter várias configurações que poderão ser desnecessárias, principalmente porque normalmente quando se está ensinando web com python você só precisaria de escrever algumas funções para renderizar algum texto (o sistema de templates seria desnecessário) e fazer apenas alguns cálculos simples.
Projetos fora do padrão
Para projetos que precisem de muitas coisas diferenciadas como: um banco de dados não relacional, que não precise exibir páginas html ou que use apenas algum outro ORM que não o padrão do django. Projetos assim, ainda podem ter proveito do django mas dependendo da situação pode gerar uma improdutividade e assim torna-se melhor usar outro framework mas flexível em relação a essas escolhas.
Templates
Um template é um modelo a ser seguido, com uma estrutura predefinida que facilita o desenvolvimento e criação do conteúdo a partir de algo pré definido, responsáveis pela “apresentação” do site, os templates são uma mistura de elementos HTML e códigos Python.
Models(modelos)
Os Models são os nossos modelos de dados. Com eles fazemos o Mapeamento Objeto Relacional do nosso banco de dados. Todas as classes criadas são transformadas em tabelas no nosso banco, e durante todo o desenvolvimento não precisaremos digitar praticamente nenhuma string SQL.
Views(Visão)
Funcionam como o “controller” da aplicação. Aqui definimos o que será passado para os templates apresentarem em suas páginas. Basicamente aqui nas views criamos funções e definimos as páginas que retornarão os resultados destas funções.
Apresentação
Universidade da Região da Campanha Urcamp
Centro de Ciências da Economia e Informática – CCEI
Sistemas de Informação


Rafael do Couto Jacinto
Sabrina de Oliveira Ramos
Ana Teixeira Krob
Fabiano Garcia
Diorge Silveira

Django


Bagé, 20/10/2014
Full transcript