Parte 1: Iniciando o projeto#
Assumindo que você está dentro da pasta do projeto e o ambiente virtual está ativado, execute o comando a seguir:
django-admin startproject getit .
Esse comando vai criar a estrutura do projeto chamado getit
na pasta atual (.
). Sua pasta conterá os seguintes arquivos:
Como já vimos, a pasta env
contém todos os arquivos referentes ao ambiente virtual. Os outros arquivos são:
manage.py
: programa com diversos comandos que automatizam tarefas relacionadas ao seu projeto Django.getit/__init__.py
: esse é um arquivo vazio. O__init__.py
é a forma de dizer para o Python que a pastagetit
é um pacote. Se quiser saber mais, consulte a documentação do Python.getit/settings.py
: as configurações do seu projeto estão concentradas neste arquivo. Para saber mais, consulte a documentação do Django. Alguns exemplos: configuração do banco de dados, língua padrão da aplicação, localização das pastas de arquivos estáticos (CSS, JS, imagens, etc.).getit/urls.py
: este arquivo define uma função para ser executada para cada rota da sua aplicação. Vamos falar mais sobre este conceito de rotas adiante.getit/asgi.py
egetit/wsgi.py
: arquivos utilizados para disponibilizar o seu projeto em um servidor.
Vamos testar essa configuração inicial:
python manage.py runserver
Acesse a página em http://localhost:8000
.
Exercise 1
Calma, mas eu nem escrevi código ainda!#
Pois é, essa é uma das características desse tipo de framework. Muito do trabalho realizado por qualquer servidor web é bastante repetido:
- Receber a requisição;
- Processar a requisição para extrair as informações enviadas pelo cliente (ex: rota, verbo HTTP, parâmetros, etc.);
- Construir a string de resposta;
- Enviar a resposta para o cliente.
Além disso, várias outras tarefas são bastante comuns: verificar se existe um usuário associado àquela requisição, verificar se o usuário realmente é quem ele diz ser (autenticação), verificar se o usuário tem permissão para acessar aquela página/recurso específica, etc.
Todo esse trabalho repetido é executado pelo framework, no caso o Django, facilitando muito o desenvolvimento da aplicação. O que sobra para implementarmos é o que acontece depois que a requisição chegou no servidor e antes da resposta ser enviada para o cliente.
Importante
Essa é apenas uma introdução e por esse motivo, os conceitos são apresentados de forma bastante simplificada. Em especial, o último parágrafo é bastante impreciso. A ideia é que você compreenda melhor o que está acontecendo ao longo do semestre e conforme você ganha mais experiência no desenvolvimento web.
Então vamos implementar a parte que nos cabe. É só seguir para o próximo passo.