




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Curso de python usando o frameword django
Tipologia: Notas de estudo
1 / 130
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































Agradeço primeiramente à Deus , pois sem Ele, eu não teria a capacidade e força para entender nem uma linha de código sequer.
Agradeço à minha linda esposa , Luiza, pelo infindável ânimo e incentivo às minhas loucas iniciativas e à minha família pelo amor e suporte.
Agradeço ao grupo do Facebook Python Brasil – Programadores , pelo apoio e suporte à comunidade Python!
E como fazer isso sem abrí-los?! Certo?
Bom... Isso revoltava minha mãe, que via aquele brinquedo que tinha demorado tanto para escolher, em "pedaços".
Cabos, motores, capacitores e baterias espalhados sempre fizeram parte da decoração do meu quarto.
Mas minha trilha na computação estava apenas começando.
Chegou a época de escolher minha graduação e, como sempre fui fascinado pelo funcionamento dos meus brinquedos eletrônicos, optei por cursar Engenharia de Computação na Universidade de Brasília.
Dentre outras coisas, o curso serviu para aumentar ainda mais minha vontade de aprender e desvendar a computação.
Quem nunca se perguntou como pode um processador conter mais de 1 bilhão de transistores? Como 0's e 1's conseguem controlar toda essa máquina extremamente intrigante que é um computador? Essas e outras várias perguntas sempre fazem parte do dia a dia do universo de quem tem sede de aprender um pouco mais sobre computação e tecnologia.
Durante o curso, tive experiência na área de suporte e na área de desenvolvimento, estagiando na própria Universidade e em órgãos públicos. Sem contar na oportunidade de aprender com grandes professores e instrutores que tive por lá.
Os anos se passaram, me formei e estava na hora de decidir o rumo da minha vida profissional, e como bom brasiliense que sou, optei pela
vida de concurseiro, fazendo concursos de TI para Tribunais, órgãos públicos e empresas públicas.
Dado meu esforço, não demorou muito e passei no concurso para área de Tecnologia do Banco do Brasil.
Atualmente eu estou nessa nova empreitada na Python Academy para produzir e disponibilizar conteúdo da mais alta qualidade.
Espero que nosso conteúdo faça você entender Python DE VERDADE!
É isso pessoal!
CAMADA TEMPLATE ................................................................................... 80
…
TAGS
E AGORA?................................................................................................... 128 REFERÊNCIA .............................................................................................. 130
Django é um framework de alto nível, escrito em Python que encoraja o desenvolvimento limpo de aplicações web.
Desenvolvido por experientes desenvolvedores, Django toma conta da parte pesada do desenvolvimento web , como tratamento de requisições, mapeamento objeto-relacional, preparação de respostas HTTP, para que, dessa forma, você gaste seu esforço com aquilo que realmente interessa : suas regras de negócio!
Foi desenvolvido com uma preocupação extra em segurança , evitando os mais comuns ataques, como Cross site scripting (XSS), Cross Site Request Forgery (CSRF), SQL injection , entre outros.
No Django, uma View é uma forma de processar os dados de uma URL específica, pois ela descreve qual informação é apresentada, através do processamento descrito pelo desenvolvedor em seu código.
Além disso, é imprescindível separar conteúdo de apresentação – que é onde os templates residem.
Como disse, uma View descreve qual informação é apresentada, mas uma View normalmalmente delega para um template , que descreve como a informação é apresentada.
Assim, onde o Controller se encaixa nessa arquitetura?
No caso do Django, é o próprio framework que faz o trabalho pesado de processar e rotear uma requisição para a View apropriada de acordo com a configuração de URL descrita pelo desenvolvedor.
Para ajudar a entender um pouco melhor, vamos analisar o fluxo de uma requisição saindo do browser do usuário, passando para o servidor onde o Django está sendo executado e retornando ao browser do usuário.
Veja a seguinte ilustração:
O Django é dividido em três camadas :
1 pip install django
Para saber se a instalação está correta, podemos abrir o terminal interativo do Python (digitando python no seu terminal ou prompt de comandos) e executar:
1 2
import django print(django.get_version())
A saída deve ser a versão do Django instalada. No meu caso, a saída foi 2.0.7.
Com tudo instalado corretamente, vamos agora fazer um projeto para que você veja o Django em ação!
Nosso projeto é fazer um sistema de gerenciamento de Funcionários. Ou seja, vamos fazer uma aplicação onde será possível adicionar , listar , atualizar e deletar Funcionários.
Vamos começar criando a estrutura de diretórios e arquivos principais para o funcionamento do Django. Para isso, o pessoal do Django fez um comando muito bacana para nós: o django-admin.py.
Se sua instalação estiver correta, esse comando já foi adicionado ao seu PATH!
Tente digitar django-admin --version no seu terminal (se não
estiver disponível, tente django-admin.py --version).
Digitando apenas django-admin, é esperado que aparece a lista de comandos disponíveis, similar a:
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Available subcommands: [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate runserver sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver
manage.py: Arquivo gerado automaticamente pelo Django que expõe comandos importantes para manutenção da nossa aplicação.
Para testar, vá para a pasta raíz do projeto e execute o comando python manage.py runserver.
Depois, acesse seu browser no endereço http://localhost:8000.
A seguinte tela deve ser mostrada:
Se ela aparecer, nossa configuração está correta e o Django está pronto para começarmos a desenvolver!
Agora, vamos criar um app chamado website para separarmos os arquivos de configuração da nossa aplicação, que vão ficar na pasta /helloworld, dos arquivos relacionados ao website.
De acordo com a documentação, um app no Django é:
Uma aplicação Web que faz alguma coisa , por exemplo - um blog, um banco de dados de registros públicos ou um aplicativo de pesquisa. Já um projeto é uma coleção de configurações e apps para um website em particular.
Um projeto pode ter vários apps e um app pode estar presente em diversos projetos.
A fim de criar um novo app, o Django provê outro comando,
chamado django-admin.py startapp.
Ele nos ajuda a criar os arquivos e diretórios necessários para tal objetivo.
Na raíz do projeto, execute:
1 django-admin.py startapp website
Agora, vamos criar algumas pastas para organizar a estrutura da nossa aplicação. Primeiro, crie a pasta templates dentro de website.
Observação: Nós criamos uma pasta com o nome do app ( website , no
caso) dentro das pastas static e templates para que o Django crie o namespace do app. Dessa forma, o Django entende onde buscar os recursos quando você precisar!
Dessa forma, devemos estar com a estrutura da seguinte forma:
Para que o Django gerencie esse app, é necessário adicioná-lo
a lista de apps instalados. Fazemos isso atualizando a configuração INSTALLED_APPS no arquivo de configuração helloworld/settings.py
Ela é uma lista e diz ao Django o conjunto de apps que devem ser gerenciados no nosso projeto.
É necessário adicionar os apps da nossa aplicação à essa lista para que o Django as enxergue. Para isso, procure por:
1 2 3 4 5 6 7 8 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
E adicione website e helloworld, ficando assim:
1 2 3 4 5 6 7 8 9
10
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'helloworld', 'website' ]