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 nos 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 outros indivíduos confiáveis 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 acaba por abstrair os detalhes de implementação de tabelas e campos de banco de dados, seria melhor escrever suas próprias visualizações para o lado de administração.
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ê possui o Django na versão 4 ou superior instalado.
- Você conectou seu aplicativo Django a um banco de dados. Estamos usando o MySQL, e você pode fazer essa conexão seguindo a segunda parte da série Django, “Como Criar um Aplicativo Django e Conectá-lo a um Banco de Dados” (How To Create a Django App and Connect it to a Database).
- Você está trabalhando com um sistema operacional baseado em Unix, de preferência um servidor em nuvem Ubuntu 22.04, pois é o sistema 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” (How To Install Django and Set Up a Development Environment on Ubuntu 22.04).
Como este tutorial lida principalmente com a Interface Administrativa do Django, você pode acompanhá-lo mesmo que tenha uma configuração um pouco diferente.
Passo 1 — Ativar o Admin
Sempre que começamos a trabalhar com Python e Django, devemos ativar nosso ambiente virtual do Python e entrar no diretório raiz do nosso aplicativo. Se você acompanhou a série, pode fazer 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 de Aplicações
INSTALLED_APPS = [
'blogsite',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
Lembre-se de salvar e fechar o arquivo se tiver feito alterações. No nano, você pode fazer isso digitando CTRL
e X
, depois Y
e, em seguida, ENTER
.
Agora podemos abrir o arquivo urls.py
, novamente com o 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 possui o código apropriado nos arquivos settings.py
e urls.py
, sabemos que nossa aplicação terá acesso aos modelos e à interface de usuário do administrador.
Passo 2 — Verificar se o Admin é um Aplicativo Instalado
Em seguida, devemos migrar os modelos para o banco de dados para que ele reconheça os modelos do 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 este.
- python manage.py migrate
Se não fizemos nenhuma alteração nos arquivos acima, deveríamos 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 dar suporte à 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 o aplicativo de administração.
Embora tenhamos habilitado o aplicativo, talvez ainda não tenhamos configurado uma conta de administração do Django. Podemos criar a conta de administrador para fazer login na próxima etapa.
Passo 3 — Criar Conta de Superusuário Administrador
Se você já configurou uma conta de administração e consegue fazer login na sua página de administração, 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 nosso 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
Ao fazer isso, seremos solicitados a preencher os detalhes para nosso nome de usuário, e-mail e senha. Neste tutorial, vamos criar uma conta de administrador com o nome de usuário admin_user
, o e-mail [email protected]
e a senha admin123
. Você deve preencher essas informações com suas próprias preferências e certificar-se de usar uma senha segura que você vai lembrar.
OutputUsername (leave blank to use 'root'): admin_user
Email address: [email protected]
Em seguida, digite sua senha duas vezes quando vir o prompt Senha:
. Você não verá a saída das teclas ao digitar sua senha. Pressione enter após cada prompt para confirmar sua senha.
OutputPassword:
Password (again):
Neste momento, 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 então acesse novamente a URL http://seu-endereço-ip-do-servidor:8000/admin/
para chegar à página de login do admin. 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 trabalhar na conexão do nosso aplicativo de blog com o 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, vamos adicionar o padrão de URL para nossa aplicação de blog para que possamos acessá-lo via interface de administração.
Navegue até o local daquele arquivo urls.py
que acabamos de criar.
- cd ~/my_blog_app/blog/blogsite/
Então 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 views
para Posts
e Comments
. Ainda não criamos essas views
, mas cobriremos isso mais tarde na série.
Passo 5 — Conectar o Aplicativo do Blog ao Admin
Conectar nosso blog à interface administrativa nos permitirá ver links tanto para Posts
quanto para Comments
dentro do painel de administração. Atualmente, o painel exibe apenas links para Groups
e Users
.
Para conectar os dois, precisamos registrar nossos modelos Posts
e Comments
no 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 contenha o seguinte código para dar suporte ao 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.
Você agora registrou os modelos Post
e Comment
dentro do painel de administração. Isso permitirá que a interface do administrador reconheça esses modelos e os exiba para o usuário que estiver logado e visualizando o painel de administração.
Passo 6 — Verificar se o Aplicativo do Blog foi Adicionado ao Admin
Agora que você adicionou o código Python relevante, execute o servidor. Abra http://seu-endereço-ip-do-servidor:8000/admin
e faça login no admin usando suas credenciais se ainda não estiver logado. Neste tutorial, estamos fazendo login com o nome de usuário admin_user
e senha admin123
.
Agora que você está logado, deverá ser servido com a seguinte página da web. Se não tiver mudado desde antes, pode ser necessário atualizar seu 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 de executar o servidor Django. Isso o retornará 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 colocará de volta ao prompt de comando do terminal.
Conclusão
Neste tutorial, você habilitou com sucesso a interface de administração, criou um login de administração e registrou 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.