Página de administração do Django

Resumo : neste tutorial, você aprenderá como criar um superusuário e usá-lo para entrar na página de administração do Django.

Este tutorial começa onde o tutorial de modelos do Django parou .

Introdução à página de administração do Django

Quando você cria um novo projeto usando o startprojectcomando, o Django gera automaticamente a página de administração para gerenciar modelos, incluindo criação, leitura, atualização e exclusão, que geralmente é conhecida como CRUD.

Para acessar a página de administração, você navega até o URL http://127.0.0.1/admin/. Isso abrirá a página de login:

página de administração do Django

Observe que o Django especifica o admin/no urls.pyprojeto:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('blog.urls'))
]
Linguagem de código:  Python  ( python )

O administrador do Django requer uma conta para efetuar login. Portanto, você precisa criar um usuário usando um comando do Django.

Criando uma conta de superusuário

Para criar uma conta de superusuário, você usa o createsuperuserseguinte comando:

python manage.py createsuperuserLinguagem de código:  texto simples  ( texto simples )

Ele solicitará um nome de usuário, endereço de e-mail e senha:

Username: john          
Email address: [email protected]
Password: 
Password (again): 
Superuser created successfully.Linguagem de código:  texto simples  ( texto simples )

Execute o servidor de desenvolvimento Django:

python manage.py runserverLinguagem de código:  texto simples  ( texto simples )

E faça login usando o usuário criado, você verá a página de administração padrão que gerencia usuários e grupos:

página de administração do Django - painel de administração

Para mostrar o Postmodelo na página de administração, é necessário cadastrá-lo no admin.pyaplicativo blog:

from django.contrib import admin
from .models import Post


admin.site.register(Post)
Linguagem de código:  Python  ( python )

Neste código:

  • Primeiro, importe o Postarquivo models.py.
  • Segundo, registre-o usando o arquivo admin.site.register(Post).

Depois de registrar o modelo, você verá que ele aparece no site de administração:

página de administração do Django - blog

A partir daqui, você pode gerenciar as postagens, incluindo criação, atualização, exclusão e visualização das postagens. Por exemplo, você pode criar uma postagem clicando no botão Adicionar:

página de administração do Django - crie uma postagem

Vamos criar três postagens:

página de administração do Django - lista de postagens

Exibir dados do banco de dados

Para exibir os posts do banco de dados, é necessário alterar a home()função no views.pyaplicativo blog:

from django.shortcuts import render
from .models import Post


def home(request):
    posts = Post.objects.all()
    context = {'posts': posts}
    return render(request, 'blog/home.html', context)


def about(request):
    return render(request, 'blog/about.html')
Linguagem de código:  Python  ( python )

Como funciona.

Primeiro, importe o Postmodelo do models.pymódulo:

from .models import PostLinguagem de código:  Python  ( python )

A seguir, obtenha todas as postagens do banco de dados usando o Postmodelo:

posts = Post.objects.all()Linguagem de código:  Python  ( python )

O all()método retorna um QuerySetque contém todos Postos objetos do banco de dados. Observe que você aprenderá mais sobre como interagir com o banco de dados na seção Django ORM.

Em seguida, crie um contextdicionário com a chave 'posts'e o valor como postsQuerySet:

context = {'posts': posts  }Linguagem de código:  JavaScript  ( javascript )

Depois disso, passe o contextpara a render()função:

return render(request,'blog/home.html', context)Linguagem de código:  Python  ( python )

Por fim, mostre no postsmodelo home.html:

{% extends 'base.html' %}
	
{% block content %}
<h1>My Posts</h1>
	{% for post in posts %}
		<h2>{{ post.title }}</h2>
		<small>Published on {{ post.published_at | date:"M d, Y" }} by {{ post.author | title}}</small>
		<p>{{ post.content }}</p>
	{% endfor %}
{% endblock content %}Linguagem de código:  HTML, XML  ( xml )

Se você abrir o URL http://127.0.0.1/, verá três postagens do banco de dados:

página de administração do Django - mostra dados do banco de dados

Baixe o código fonte do Projeto Django

Se você baixar o código-fonte do projeto, a senha do superusuário éNJ24on7eJRSd8a2UlSpg

Resumo

  • Django vem com um painel de administração padrão que permite gerenciar usuários, grupos e modelos.
  • Use o createsuperuserpara criar um superusuário para efetuar login no site de administração do Django.
  • Use o admin.site.registermétodo para registrar um modelo no painel de administração.
  • Use o all()método de Model.objectspara obter todos os modelos QuerySetdo banco de dados.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *