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 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'
.
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.
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.
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.
Veja: servindo os arquivos de administração na documentação: “Como usar Django com mod_wsgi”.
O Django não se incomodará em exibir o filtro para um ManyToManyField
se não houver objetos relacionados.
Por exemplo, se seu list_filter
inclui sites, e não há sites em seu banco de dados, ele não exibirá um filtro “Site”. Nesse caso, filtrar por site não faria sentido.
Contagem de linhas inconsistente pode ser causada por valores de chave estrangeiras faltantes ou um campo de chave estrangeira configurado incorretamente para: attr: null = False <django.db.models.Field.null>. Se você tiver um registro com uma classe: ~ django.db.models.ForeignKey ‘apontando para um objeto inexistente e essa chave externa incluída é: attr: ~ django.contrib.admin.ModelAdmin.list_display`, a gravação não será mostrado na lista de alterações do administrador porque o modelo do Django está declarando uma restrição de integridade que não está implementada no nível do banco de dados.
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ê quiser mais flexibilidade do que é possível através de ajustes aos formulários gerados automaticamente, sinta-se a vontade para escrever views personalizadas para a parte administrativa. A parte administrativa é feita com Django também, e com isso você pode escrever views customizadas que se acoplem ao sistema de autenticação, chequem permissões ou façam qualquer outra coisa que precisem fazer.
Se você quer personalizar a aparência da interface de administração, leia a próxima pergunta.
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.
O admin fornece uma experiência totalmente funcional para as versões recentes de navegadores modernos em conformidade com os padrões da web. No desktop, isso significa Chrome, Edge, Firefox, Opera, Safari e outros.
Em dispositivos móveis e tablets, o admin fornece uma experiência responsiva para navegadores compatíveis com os padrões da web. Isso inclui os principais navegadores em Android e iOS.
Dependendo do suporte ao recurso, pode haver pequenas diferenças estilísticas entre os navegadores. Estas são consideradas variações aceitáveis na renderização.
dez. 04, 2023