Introdução
Se você acompanhou a série de desenvolvimento do Django, começou uma aplicação Django, conectou sua aplicação ao MySQL e criou os modelos de banco de dados para os dados de Posts
e Comments
dentro da sua aplicação web de blog.
Neste tutorial, vamos conectar e habilitar o site de administração do Django para que você possa gerenciar seu site de blog. O site de administração do Django vem pré-construído com uma interface de usuário projetada para permitir que você e outras pessoas de confiança gerenciem o conteúdo do site.
Vale ressaltar que a documentação oficial do Django aponta que, embora isso seja ideal para uso interno de uma organização, não é recomendado construir uma aplicação web em torno de uma interface de administração do Django gerada automaticamente. Se você perceber que sua interface precisa ser mais centrada em processos ou se mostrar para ocultar detalhes de implementação de tabelas e campos de banco de dados, seria melhor para você escrever suas próprias visualizações para o lado administrativo.
Pré-requisitos
Este tutorial faz parte da série de desenvolvimento do Django e é uma continuação dessa série.
Se você não acompanhou esta série, estamos fazendo as seguintes suposições:
- Você tem a versão 4 ou superior do Django instalada.
- Você conectou sua aplicação Django a um banco de dados. Estamos usando o MySQL, e você pode realizar essa conexão seguindo a parte dois da série Django, ” Como Criar uma Aplicação Django e Conectá-la a um Banco de Dados “.
- Você está trabalhando com um sistema operacional baseado em Unix, preferencialmente um servidor em nuvem Ubuntu 22.04, pois é o sistema em que testamos. Se você deseja configurar o Django em um ambiente semelhante, consulte nosso tutorial, ” Como Instalar o Django e Configurar um Ambiente de Desenvolvimento no Ubuntu 22.04 “.
Como este tutorial lida principalmente com a Interface Administrativa do Django, você pode acompanhar mesmo se tiver uma configuração um pouco diferente.
Passo 1 – Ativar o Admin
Sempre que começamos a trabalhar em Python e Django, devemos ativar nosso ambiente virtual do Python e entrar no diretório raiz do nosso aplicativo. Se você seguiu junto com a série, pode conseguir isso digitando o seguinte.
- cd ~/my_blog_app
- . env/bin/activate
Para habilitar o Django Admin, precisamos garantir que nosso aplicativo faça parte da lista de INSTALLED_APPS
no arquivo settings.py
.
Navegue até o diretório do arquivo de configurações:
- cd ~/my_blog_app/blog/blog/
A partir daqui, abra o arquivo settings.py
. Se ainda não estiver lá, adicione django.contrib.admin
à lista de INSTALLED_APPS
, usando um editor de texto como o nano.
- nano settings.py
A seção INSTALLED_APPS
do arquivo deve ser semelhante ao arquivo abaixo. Nosso aplicativo na lista é o primeiro, 'blogsite',
mas se você criou um aplicativo com um nome diferente, certifique-se de que ele esteja listado neste arquivo conforme demonstrado.
...
# Definição do aplicativo
INSTALLED_APPS = [
'blogsite',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
Asegure-se de salvar e fechar o arquivo se você fez alterações. No nano, você pode fazer isso digitando CTRL
e X
depois Y
e então ENTER
.
Agora podemos abrir o arquivo urls.py
, novamente com nano ou outro editor de texto.
- nano urls.py
Abaixo do comentário no topo, o arquivo deve se parecer com o seguinte.
…
"""
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
Se o arquivo for diferente do que está acima, copie e cole as linhas acima no seu arquivo urls.py
.
Agora que garantimos que nosso projeto web Django tem o código apropriado nos arquivos settings.py
e urls.py
, sabemos que nossa aplicação terá acesso aos modelos de administração e à interface do usuário do admin.
Passo 2 — Verificar se o Admin é uma Aplicação Instalada
Devemos migrar os modelos para o banco de dados para que ele pegue os modelos de Admin recém-adicionados.
Navegue até o diretório onde o arquivo manage.py
está localizado.
- cd ~/my_blog_app/blog
Lembre-se de executar o comando migrate
sempre que fizer alterações nos models
, como mostrado abaixo.
- python manage.py migrate
Se não fizemos alterações nos arquivos acima, devemos receber uma saída semelhante à seguinte ao executar o comando migrate
.
OutputOperations to perform:
Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
No migrations to apply.
Caso contrário, a saída indicará que o Django fez as migrações necessárias para suportar nossa aplicação.
Agora podemos iniciar o servidor executando o seguinte comando. Você pode substituir 0.0.0.0
pelo seu endereço IP.
- python manage.py runserver 0.0.0.0:8000
Em seguida, acesse a URL do painel de administração em um navegador de sua escolha. Certifique-se de inserir o endereço IP do seu servidor.
http://your-server-ip:8000/admin/
Você receberá uma tela de login semelhante a esta.
Chegar a esta tela nos informa que habilitamos com sucesso a aplicação de administração.
Embora tenhamos ativado o aplicativo, talvez ainda não tenhamos configurado uma conta de administração do Django. Podemos criar a conta de administrador para fazer o login na próxima etapa.
Passo 3 — Criar Conta de Superusuário do Admin
Se você já configurou uma conta de administrador e pode fazer login na sua página de administração, você pode pular esta etapa.
Abra um novo terminal para se conectar ao servidor, ou desative o aplicativo Django pressionando CTRL
e C
para que possamos trabalhar no ambiente de programação do terminal do servidor.
O Django permite que você gere uma conta de superusuário, o que podemos fazer executando o arquivo manage.py
para iniciar o processo de criação do superusuário.
- python manage.py createsuperuser
Depois de fazer isso, seremos solicitados a preencher os detalhes para nosso nome de usuário, e-mail e senha. Neste tutorial, faremos uma conta de administração com o nome de usuário admin_user
, o e-mail [email protected]
e a senha admin123
. Preencha essas informações com suas próprias preferências e certifique-se de usar uma senha segura que você lembrará.
OutputUsername (leave blank to use 'root'): admin_user
Email address: [email protected]
Em seguida, insira sua senha duas vezes quando vir o prompt Password:
. Você não verá a saída das teclas ao inserir sua senha. Pressione enter após cada prompt para confirmar sua senha.
OutputPassword:
Password (again):
Neste ponto, agora temos uma conta de administrador com o nome de usuário admin_user
e a senha admin123
.
Vamos fazer login e investigar o que existe na nossa página de administração.
Se necessário, execute novamente o aplicativo Django com python manage.py runserver 0.0.0.0:8000
e depois acesse novamente a URL http://your-server-ip:8000/admin/
para chegar à página de login do administrador. Em seguida, faça login com o nome de usuário e senha que acabou de criar.
Após um login bem-sucedido, você receberá a seguinte página.
Em seguida, precisaremos conectar nosso aplicativo de blog ao painel de administração.
Passo 4 — Criar Padrões de URL para Post e Comentário
No passo anterior, entramos com sucesso na interface de administração, mas você pode ter notado que nosso aplicativo de blog ainda não está disponível lá. Para popular nossa interface de administração com o aplicativo de blog, precisamos adicioná-lo e registrá-lo com os modelos associados Post
e Comment
.
Para fazer isso, vamos criar um arquivo vazio chamado urls.py
, no diretório blogsite
, assim:
- touch ~/my_blog_app/blog/blogsite/urls.py
Neste arquivo, adicionaremos o padrão de URL para nosso aplicativo de blog, para que possamos acessá-lo via interface de administração.
Navegue até a localização desse arquivo urls.py
que acabamos de criar.
- cd ~/my_blog_app/blog/blogsite/
Em seguida, abra o arquivo com o nano, por exemplo.
- nano urls.py
Adicione as seguintes linhas de código ao arquivo.
from django.urls import path
from . import views
urlpatterns = [
path('$/', views.posts, name='posts'),
path('$/', views.comments, name='comments'),
]
Essas são as expressões de padrão de URL necessárias para permitir que nossa aplicação acesse as vistas
para Posts
e Comentários
. Ainda não criamos essas vistas
, mas abordaremos isso mais tarde na série.
Passo 5 — Conectar o Aplicativo do Blog ao Admin
Conectar nosso blog à interface do administrador nos permitirá ver links tanto para Posts
quanto para Comentários
dentro do painel de administração. No momento, o painel exibe apenas links para Grupos
e Usuários
.
Para conectar os dois, precisamos registrar nossos modelos de Posts
e Comentários
dentro do arquivo de administração do blogsite
.
Navegue até o diretório blogsite
:
- cd ~/my_blog_app/blog/blogsite
Em seguida, abra o arquivo admin.py
em um editor de texto de sua escolha.
- nano admin.py
O arquivo será preenchido com uma declaração de importação e um comentário.
from django.contrib import admin
# Registre seus modelos aqui.
Você deve editar o arquivo para que ele contenha o seguinte código a fim de suportar nosso aplicativo.
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment
admin.site.register(Post)
admin.site.register(Comment)
Quando estiver satisfeito com o arquivo, salve e saia.
Agora você registrou os modelos Post
e Comment
dentro do painel de administração. Isso permitirá que a interface de administração reconheça esses modelos e os exiba para o usuário que está logado e visualizando o painel de administração.
Passo 6 — Verificar se o aplicativo Blog foi Adicionado ao Admin
Agora que você adicionou o código Python relevante, inicie o servidor. Abra http://seu-ip-do-servidor:8000/admin
e faça login no admin usando suas credenciais, se ainda não estiver logado. Neste tutorial, estamos usando o nome de usuário admin_user
e a senha admin123
.
Agora que você está logado, você deve ver a seguinte página da web. Se não tiver mudado desde antes, talvez seja necessário atualizar o navegador.
Isso verifica que agora conectamos nosso aplicativo, blogsite
, ao painel de administração do Django.
Quando terminar de testar seu aplicativo, você pode pressionar CTRL
+ C
para parar o servidor Django. Isso o levará de volta ao seu ambiente de programação.
Quando estiver pronto para sair do seu ambiente Python, você pode executar o comando deactivate
:
- deactivate
Desativar seu ambiente de programação o levará de volta ao prompt de comando do terminal.
Conclusão
Neste tutorial, você conseguiu habilitar com sucesso a interface de administração, criar um login de admin e registrar os modelos Post
e Comment
no admin.
A interface de administração do Django é como você poderá criar postagens e monitorar comentários em seu blog.
No próximo artigo da série, estaremos criando as views
para a aplicação do blog.