Оптимальный подход к задаче

У меня есть список со словарями, в котором хранится имя и юрл элементов, которые потом отображаются в шаблоне.

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

Как по мне это какой то костыль, да ещё и затратно по памяти (бессмысленные копии). Хотел в шаблоне как то с помощью проверок, но что то недокумекал как, поэтому пришёл сюда

Вернуться на верх