No nosso artigo anterior fizemos um “hello world” com Django, caso você não acompanhou segue o link baixo:
Hello world em Python usando Django
Agora vamos realizar um sistema de cadastro, seguindo do nosso projeto criado no post anterior.
Dentro da pasta do nosso projeto digite o comando a seguir no PowerShell para criar a nossa aplicação, lembrando que um projeto é uma coisa e uma aplicação é outra, em nosso projeto podemos ter mais de uma aplicação:
django-admin startapp app
Coloquei o nome de app, mas caso você tenha mais de uma aplicação você poderia colocar app_cadastro, app_chat, app_resetpass, o que ficar melhor para identificar.
Note na imagem abaixo, que nada aparece na saida do Powershell, mas o comando foi executado com sucesso e foi criado uma nova pasta com o nome da nossa aplicação:
Agora vamos entender um pouco da estrutura de funcionamento do Django, segue imagem:
Onde:
Rota: O arquivo que define as urls de acesso a partes da nossa aplicação.
Em nosso caso vamos criar uma rota chamada home, que vai conter a página inicial da apliação.
Obs.: Mais a frente vamos definir a raiz do nosso site para essa rota também.
Esse arquivo fica dentro da pasta do nosso projeto e se chama urls.py.
Ela vai ficar assim: 127.0.0.1:8000/home
Visualizações: As views são responsáveis por determinar o que vai ser exibido em cada rota que for chamada via url, ela que sabe aonde estão os arquivos html que formam a página para determinada rota.
As views ficam definidas no arquivo views.py dentro da pasta da nossa aplicação.
HTML: São os arquivos html que formam as nossas páginas.
Os arquivos html ficarão dentro da pasta chamada templates que teremos que criar manualmente dentro da pasta do aplicativo.
obs.: Note que algumas vezes falamos pasta do projeto e em outra pasta da apliação, fique atento a isso.
Resumo dos nossos próximos passsos:
1 – Definir as rotas no arquivo urls.py
2 – Definir as views dentro do arquivo views.py
3 – Construir um arquivo html dentro da pasta templates.
4 – Configurar o nosso projeto para aceitar a aplicação, arquivo settings.py dentro da pasta do projeto.
DEFINIR AS ROTAS
O nosso arquivo de rota ficará como a seguir:
Na linha 3 temos a importação das views:
from app import views
Na linha 5 temos a configuração de cada rota, até agora somente uma:
urlpatterns = [ path(‘home/’, views.home, name=’home’) ]
Vamos entender cada parte da configuração da rota:
Dentro de path temos a primeira parte definida como ‘home/’ essa é a rota que será digitada na url, ficando assim: 127.0.0.1:8000/home.
A parte views.home informa aonde que esta a view dessa rota, no caso a nossa pasta home dentro da pasta templates que iremos criar.
DEFINIR VIEWS
Com nossa rota definida vamos definir nossa view, as nossas views são funções no python, veja como vai ficar:
Temos a nossa função def home(request):
O parametro request vai ficar resposável por receber dados na chamada.
E em seguida o return render(request, ‘home/home.html’)
Que responde mandando renderizar a quem requisitou o conteúdo da nossa pasta de templetes, no caso o que esta dentro da pasta home/home.html.
DEFINIR OS ARQUIVOS HTML
Agora que ja configuramos a nossa rota e view, vamos criar uma pasta chamada templates e dentro dela vamos colocar a nossa pasta da rota home e o seu arquivo .html.
1 – Crie a pasta templates.
2 – Dentro da pasta templates crie a pasta home.
3 – Dentro da pasta home crie o arquivo home.html
Ficando como a seguir:
CONFIGURAR ARQUIVO SETTINGS.PY DO PROJETO
Abra o arquivo settings.py dentro da pasta do projeto e vamos configurar para aceitar a nossa aplicação conforme abaixo:
Na parte de INSTALLED_APPS, colocamos o nome da pasta da aplicação no final como mostrado acima.
Agora vamos rodar o nosso projeto e conferir se esta tudo indo de acordo:
python manage.py runserver
Acesse pelo navegador a url 127.0.0.0:8000/home
Note que se você não colocar o /home no final, vai apecer uma página de erro como a seguir:
Isso acontece por que não definimos nada para a rota raiz.
Ao acessar a rota corretamente vamos ver o nosso hello world da rota home:
Vou deixar para você criar uma segunda rota o qual vamos listar os usuários do nosso sistema de cadastro, crie a rota e a view com a frase “lista de usuários”.
Não se preocupe, vamos fazer isso na parte 2, por hora tente praticar as configurações de rota para ir acostumando.
Até!