Como Habilitar e Conectar a Interface Administrativa do Django

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.

  1. cd ~/my_blog_app
  2. . 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:

  1. 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.

  1. 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.

settings.py
...
# 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.

  1. nano urls.py

Abaixo do comentário no topo, o arquivo deve se parecer com o seguinte.

urls.py
"""
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.

  1. cd ~/my_blog_app/blog

Lembre-se de executar o comando migrate sempre que fizer alterações nos models, como este.

  1. 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.

Output
Operations 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.

  1. 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.

  1. 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.

Output
Username (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.

Output
Password: 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:

  1. 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.

  1. cd ~/my_blog_app/blog/blogsite/

Então abra o arquivo com o nano, por exemplo.

  1. nano urls.py

Adicione as seguintes linhas de código ao arquivo.

urls.py
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:

  1. cd ~/my_blog_app/blog/blogsite

Em seguida, abra o arquivo admin.py em um editor de texto de sua escolha.

  1. nano admin.py

O arquivo será preenchido com uma declaração de importação e um comentário.

admin.py
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.

admin.py
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:

  1. 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.

Source:
https://www.digitalocean.com/community/tutorials/how-to-enable-and-connect-the-django-admin-interface