Parte 4: O Django Admin
É comum precisarmos criar um site específico para gerenciar (adicionar, remover, editar) os conteúdos da nossa página. Em geral, essas páginas de administração não precisam ser particularmente bonitas ou criativas. Assim, o Django disponibiliza uma interface de administração criada automaticamente.
Para ter acesso a essa página vamos precisar criar um usuário administrador. Execute no terminal o comando a seguir e siga os passos para criar o seu usuário:
python manage.py createsuperuser
Cadastro de usuário
O comando acima irá pedir alguns dados para cadastro. Ao digitar a senha, esta não aparecerá no terminal.
É possível verificar que um usuário foi criado no banco de dados, na tabela auth_user
.
Agora execute o servidor:
python manage.py runserver
E acesse a página de administração em http://localhost:8000/admin/
.
Faça o Login com as informações do usuário que acabou de criar na etapa anterior.

Ao logar, nos deparamos com uma tela em que é possível criar usuários manualmente a partir dessa interface.

Cadastrando anotações via Django-admin
É possível criar novas anotações via essa interface Admin. Para isso, você vai precisar de muito pouco código.
Exercício
Abra o arquivo notes/admin.py
e substitua o seu conteúdo por:
Agora sim, entre novamente na página de admin (não precisa nem reiniciar o comando runserver
- ele já faz isso automaticamente).
Exercício
Utilize o Django Admin para criar algumas anotações.
Depois de adicionar algumas anotações, a sua lista deve estar mais ou menos assim:
Não sei para você, mas para mim esses nomes Note object (x)
não parecem muito úteis. Seria melhor se ele mostrasse o título da anotação. A boa notícia é que você pode modificar o que aparece na lista da página de admin. Para mostrar um objeto qualquer, por exemplo note
, na interface, ele utiliza a função str
para transformar o objeto em uma string (str(note)
). Nós podemos modificar essa funcionalidade sobrescrevendo (lembra dessa palavra de Desenvolvimento Colaborativo Ágil?) o método mágico __str__()
.
Exercício
Implemente o método __str__(self)
na classe Note
. Ele deve devolver uma string no seguinte formato: ID. TITULO
, onde ID
é o id do objeto e TITULO
é o título do objeto (atributo title
).
Depois de implementar esse método, a lista de anotações na tela de admin deve estar mais ou menos assim:
Agora que você já adicionou algumas anotações ao banco de dados, siga para a próxima parte de handout.