Добрый день, такая проблема - на сайте будет менюшка, для доступа к разделам.
Отображать разделы нужно в зависимости от роли.
Менюшка бутстраповкая и желательно её тоже как-нибудь автоматом рисовать
Тут несколько вопросов - как можно сформировать список ролей и соответствия урла к которому они имеют доступ и как собственно формировать эту менюшку? И где это лучше всего делать?
Меню должно отображаться для всех разделов, которые наследуют базовый шаблон личного кабинета.
Чуть подробнее - думаю это как то должно выглядеть так - есть словарь, там значение ключа - роль пользователя, а само значение список из урлов куда роль имеет доступ, как то так
perm = {
'CLIENT': {
'home': {'url': reversed('home'), 'name': 'Главная'},
'orders': {'url': reversed('orders'), 'name': 'Заказы'},
'etc': {'url': reversed('etc'), 'name': 'Остальное'}
},
'ADMIN': {
'admin': {'url': reversed('admin'), 'name': 'Управление'},
'home': {'url': reversed('home'), 'name': 'Главная'},
'orders': {'url': reversed('orders'), 'name': 'Заказы'},
'etc': {'url': reversed('etc'), 'name': 'Остальное'}
}
}
...
role = 'CLIENT'
...
return perm[role]
Затем в менюху отдается список для роли и она формируется, как то так
<ul>
{% for perm in perms %}
<li><a href="{{ perm.url }}">{{ perm.name }}</a></li>
{% endfor %}
</ul>
Такое вообще практикуется? Как правильно такие вещи правильно реализовывать?