Encontre as permissões necessárias de URLs do Django sem chamá-las?

Meu aplicativo Django atualmente possui URLs protegidas por funções 'permission_required ()'.

Essa função é chamada de três maneiras diferentes.

Como decorador em views.py, com parâmetros codificados.Como uma função simples, com parâmetro autogerado, em visualizações genéricas baseadas em classes personalizadas.Como uma função que invoca visões em urls.py, com parâmetros hardcoded.

Agora estou adicionando um sistema de menu ao aplicativo, e preciso fazer com que as entradas do menu reflitam se o usuário tem permissão para solicitar o URL de cada entrada de menu. (Quer seja grisalho ou escondendo as entradas.)

Existe uma maneira de consultar as permissões necessárias para um URLsem solicitando o URL?

A única solução que pensei até agora foi substituir o decorador por um decorador sem parâmetros 'menu_permssion_required ()' e codificar todas as permissões em uma estrutura Python. Isso parece um retrocesso, já que minhas exibições genéricas baseadas em classe personalizadas já geram automaticamente as permissões necessárias.

Alguma sugestão sobre como criar um sistema de menu que reflita as permissões de URL para o usuário atual?

questionAnswers(3)

yourAnswerToTheQuestion