Оптимальный подход к задаче
У меня есть список со словарями, в котором хранится имя и юрл элементов, которые потом отображаются в шаблоне.
menu = [
{'title': 'О сайте', 'url_name': 'about'},
{'title': 'Добавить статью', 'url_name': 'add_page'},
{'title': 'Обратная связь', 'url_name': 'contact'},
{'title': "Войти", 'url_name': 'login'},
]
Я хочу чтобы "добавить статью" видели только авторизованные пользователи и придумал такое решение:
user_menu = menu.copy()
if not self.request.user.is_authenticated:
user_menu.pop(1)
context['menu'] = user_menu
Как по мне это какой то костыль, да ещё и затратно по памяти (бессмысленные копии). Хотел в шаблоне как то с помощью проверок, но что то недокумекал как, поэтому пришёл сюда