Aula 13 – Painel administrativo do django na app Polls

Aula 13 – Curso de Django

Criando uma primeira aplicação com Django e mysql

Explorando o painel administrativo do Django na app Polls

https://docs.djangoproject.com/pt-br/1.11/intro/tutorial02/

painel administrativo do django

painel administrativo do django

 

Painel administrativo

Gerar o site de administração para sua equipe ou clientes para adicionar, alterar, e deletar conteúdo, é uma tarefa tediosa que não requer criatividade. Por isso, o Django automatiza totalmente a criação da interface de admin para os modelos.

O Django foi desenvolvido em um ambiente de redação, onde havia uma clara separação entre “produtores de conteúdo” e o site “público”.

Gerentes de site usam o sistema para adicionar notícias, eventos, resultado de esportes, cadastrar um novo produto, etc, e o conteúdo é exibido no site público.

O Django traz uma interface unificada para os administradores editarem o conteúdo.

A administração não foi desenvolvida para ser usada pelos visitantes do site, mas sim pelos gerentes.

Criando um usuário administrador

Primeiro temos que criar um usuário que possa acessar o site de administração.

$ python manage.py createsuperuser

Digite seu nome de usuário desejado e pressione enter.

Username: admin

Em seguida, será requisitado seu endereço de e-mail desejado:

Email address: admin@example.com

O último passo é digitar sua senha. Você será solicitado que digite sua senha duas vezes, a segunda vez como uma confirmação da primeira.

Password: **********

Password (again): *********

Superuser created successfully.

Inicie o servidor de desenvolvimento

O site de administração vem ativado por padrão. Vamos iniciar o servidor de desenvolvimento e explora-lo.

Se o servidor não estiver sendo executado, inicie-o da seguinte forma:

python manage.py runserver

Agora, abra o navegador de internet e vá para “/admin/” no seu domínio local – ex:, http://127.0.0.1:8000/admin/.

Torne a aplicação de enquetes editável no site de administração

Ela não está visível na página principal do site de administração.

Temos que dizer para o site de administração que os objetos Question possuem uma interface de administração. Para fazer isto, crie um arquivo chamado polls/admin.py, e edite para que fique assim:

from django.contrib import admin
from .models import Question
admin.site.register(Question)

Agora que nós registramos Question, o Django sabe que ela deve ser exibida na página principal do site de administração.

Observações:

O formulário é gerado automaticamente para o modelo Question.

Os diferentes tipos de campos (DateTimeField, CharField) correspondem aos respectivos widgets HTML de inserção.

Cada tipo de campo sabe como se exibir no site de administração do Django.

Cada DateTimeField ganha um atalho JavaScript.

Datas possuem um atalho “Hoje” e um calendário popup, e horas têm um atalho “Agora” e um conveniente popup com listas de horas utilizadas comumente.

A parte inferior da página fornece uma série de opções:

Salvar – Salva as alterações e retorna para a pagina.

Salvar e continuar editando – Salva as alterações e recarrega a página do site de administração para este objeto.

Salvar e adicionar outro – Salva as informações e abre um novo formulário em branco para este tipo de objeto.

Deletar – Exibe uma página de confirmação de exclusão.

Obrigado

Até a próxima

 

2 thoughts on “Aula 13 – Painel administrativo do django na app Polls

  1. Jorge Gonzaga

    Caro Toti

    Parabéns pelo excelente trabalho. Sua didática é muito clara e objetiva. Estou seguindo o curso sem maiores dificuldades.
    Gastei um tempo maior com um erro ao instalar o mysqlclient (já resolvido).

    Agora deparei-me com um novo problema. Caso possa ajudar agradeço.

    Ao tentar acessar a área administrativa do Django (aula 13) aparece no navegador a mensagem “A server error occurred. Please contact the administrator.”

    No prompt do DOS a mensagem é extensa, mas começa com:
    [12/Jun/2018 14:30:04] “GET /admin/ HTTP/1.1” 302 0
    Internal Server Error: /admin/login/
    Traceback (most recent call last):
    File “D:\IAFBA\Ambientes_Virtuais\virtual_01\lib\site-packages\django\core\handlers\exception.py”, line 35, in inner
    response = get_response(request).

    Existem vária linhas com mensagens similares a esta.

    1. toticavalcanti Post author

      Olá Jorge, você criou o superuser? Se criou deleta ele com:
      django-admin.py shell

      depois:
      from django.contrib.auth.models import User
      User.objects.get(username=”seunome”, is_superuser=True).delete()

      Crie novamente um superuser com:
      python manage.py createsuperuser

      Abs,
      Toti

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *