Реверс для 'logout' не найден. 'logout' не является допустимой функцией представления или именем шаблона. Даже если я удалил эту часть

Я реализую функцию поиска в моем представлении списка мемов:

class MemeListView(ListView):
    model = Meme
    paginate_by = 100
    ordering = ['-created_at']

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['now'] = timezone.now()
        search_value = self.request.GET.get("search", False)
        if search_value:
            memes = Q(title__icontains=search_value)
            objects = Meme.objects.filter(memes).select_related().distinct().order_by('-created_at')[:10]
            context['meme_list'] = objects
            context['search'] = search_value


        return context

Единственная часть шаблона, которая содержит logout (я удалил ее и перезапустил сервер. Ошибка осталась)

 {% if user.is_authenticated %}
         <li class="nav-item">
        <a class="nav-link" href='{% url 'site:logout' %}'>Logout</a>
      </li>
      {% endif %}

Теперь проблема возникает, только если я ищу вещь, которая имеет 0 результатов. Если я ищу и нахожу что-то, все работает нормально. Есть идеи, что происходит?

Потеряв надежду, я попробовал следующее:

  def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['now'] = timezone.now()
        search_value = self.request.GET.get("search", False)
        if search_value:
            memes = Q(title__icontains=search_value)
            objects = Meme.objects.filter(memes).select_related().distinct().order_by('-created_at')[:10]
#difference from here
            if len(objects)>0:
                context['meme_list'] = objects
                context['search'] = search_value
            else:
                context['meme_list'] = False


        return context

И это решило проблему. Похоже, проблема была в том, что если мемы не были найдены, то существовал список meme_list, в котором не было объектов.

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