Como mostrar mensagens de autenticação do Django apenas na interface de administração?

StackOverflow https://stackoverflow.com/questions/674464

  •  21-08-2019
  •  | 
  •  

Pergunta

mensagens de autenticação do Django olhar muito útil para notificar um usuário do CMS de algum problema de configuração. A coisa é que as mensagens são excluídas em cada carregamento da página se você incluir o "django.core.context_processors.auth" processador de contexto, e você tem que incluem o processador se você quiser usar a interface de administração.

Eu tentei cortar em torno dele, acrescentando que o processador para TEMPLATE_CONTEXT_PROCESSORS logo após combinando a url admin / antes de chamar admin.site.root, mas parece que ele já importou a lista de processadores por esse tempo.

Então, há alguma maneira de fazer isso sem alterar qualquer um dos arquivos principais Django próprios, e sem omitir o Django Auth aplicativo da sua configuração totalmente até o último momento possível?

Foi útil?

Solução

Se o sistema de mensagem de Django foi fundamental para o meu site eu gostaria de acrescentar o serviço de mensagens em meus pontos de vista com, por exemplo:

Se você realmente precisa para cortá-lo para que eles mostram apenas em páginas de administração, em seguida, a solução mais fácil seria copiar a função de autenticação em django.contrib.core.context_processors.py e colocá-lo em um context_processors.py em seu próprio aplicativo diretório. Use-o nas CONTEXT_PROCESSORS pilha em vez da versão django.core e modificá-lo para que ele olha para o URL do pedido e só chama user.get_and_delete_messages() se é a URL do Administrador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top