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

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.

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

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

  1. cd ~/my_blog_app/blog

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

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

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

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

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

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

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

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

  1. cd ~/my_blog_app/blog/blogsite/

Em seguida, 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 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:

  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 ele contenha o seguinte código a fim de suportar 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.

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:

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

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