Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Python Curso utizando django, Notas de estudo de Programação Funcional

Curso de python usando o frameword django

Tipologia: Notas de estudo

2020

Compartilhado em 06/04/2020

vladimir-serra-2
vladimir-serra-2 🇧🇷

4.3

(3)

1 documento

1 / 130

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Python Curso utizando django e outras Notas de estudo em PDF para Programação Funcional, somente na Docsity!

AGRADECIMENTOS

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

Capítulo I

INTRODUÇÃO

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' ]