FAQ: O admin

Eu não consigo me autenticar. Quando eu entro com um nome de usuário e senha válidos mostra apenas a página de autenticação novamente, sem mensagens de erro.

O cookie de login não foi definido corretamente pois o domínio do cookie enviado pelo Django não confere com o domínio do seu navegador. Tente alterar as configurações em: setting: SESSION_COOKIE_DOMAIN para que coincidam com seu domínio. Por exemplo, se você está acessando “https://www.example.com/admin/” em seu navegador, defina SESSION_COOKIE_DOMAIN = 'www.example.com'.

Eu não consigo me autenticar. Quando eu entro com um nome de usuário e senha válidos, apenas retorno para a página de autenticação novamente, com o erro: “Por favor informe o nome de usuário e senha corretos”.

Se você está certo que o nome de usuário e senha estão corretos, assegure-se que esta conta de usuário possua is_active e is_staff definidos como True. A página de administração só permite acesso a usuários com esses dois campos definidos como Verdadeiro.

Como eu atribuo o valor de um campo automaticamente para conter o usuário que editou um objeto por último no admin?

A classe ModelAdmin possui métodos customizáveis que te permitem tratar um objeto a ser salvo, usando detalhes da requisição. Reescrevendo o método save_model() e extraindo o usuário atual da requisição, você pode atualizar um objeto informando qual usuário fez a ação. Veja a documentação sobre os métodos do ModelAdmin para um exemplo.

Como eu limito o acesso ao admin para que objetos possam ser editados apenas pelos usuários que os criaram?

A classe ModelAdmin possui métodos customizáveis que permitem o controle de visibilidade e edição de objetos no admin. Da mesma forma utilizada para extrair o usuário de uma requisição, os métodos get_queryset() e has_change_permission() podem ser usados para controlar a visibilidade e edição de objetos no admin.

O CSS e as imagens da interface de admin do meu site são exibidos corretamente quando uso o servidor de desenvolvimento, no entanto eles não estão sendo exibidos quando utilizo mod_wsgi.

Veja: servindo os arquivos de administração na documentação: “Como usar Django com mod_wsgi”.

Meu “list_filter” contém um campo ManyToManyField, mas o filtro não é exibido.

Django não irá se incomodar em mostrar o filtro para um ManyToManyField se existerem menos que dois objetos relacionados.

Por exemplo, se o seu list_filter incluir sites, e existir apenas um site no seu banco de dados, não será exibido o filtro “Site”. Neste caso, filtrar por site se tornou sem sentido.

Alguns objetos não estão aparecendo na página de administração.

Contagens inconsistentes de linhas podem ser causadas por chaves estrangeiras ausentes ou um campo de chave estrangeira configurado incorretamente para null=False. Se você possui um registro com ForeignKey apontando para um objeto inexistente e a chave estrangeira inserida for list_display, o registro não será mostrado na administração de lista de mudanças porque o modelo do Django está declarando uma restrição de integridade que não é implementada a nível de banco de dados.

Como consigo personalizar a funcionalidade da interface de administração?

Você tem várias opções. Se você quiser adicionar em um formulário de adição/alteração que o Django gera automaticamente, você pode incluir módulos JavaScript arbitrários para a página através da classe Admin do modelo parâmetro js. Esse parâmetro é uma lista de URLs, como strings, apontando para módulos JavaScript que serão incluídos dentro do formulário da administração pela tag <script>.

Se você quer mais flexibilidade além de simplesmente ajustar os formulários automaticamente gerados, sinta-se a vontade para escrever views customizadas para a parte administrativa. A parte administrativa é feita do Django também, e com isso você pode escrever views personalizadas que se acoplem ao sistema de autenticação, ou chequem permissões ou façam qualquer outra coisa que elas precisam fazer.

Se você quer personalizar a aparência da interface de administração, leia a próxima pergunta.

O site de administração gerado dinamicamente é feio! Como posso modificá-lo?

Nós gostamos disso, mas, se você não concorda, você pode modificar a apresentação do site da administração ao editar as folhas de estilo CSS e/ou os arquivos de imagem associados. O site é feito usando HTML semântico e muitas regras CSS, então qualquer mudança que você quiser fazer deve ser possível ao editar as folhas de estilo.

Quais navegadores são suportados para uso da interface de administração?

A parte administrativa fornece uma experiência totalmente funcional em navegadores YUI’s A-grade , com a notável exceção do IE6, que não é suportado.

Podem ocorrer diferenças de estilos mínimas entre os navegadores suportados — por exemplo, alguns navegadores podem não suportar cantos arredondados. Essas são consideradas variações aceitáveis de renderização.

Back to Top