Я думаю, вы не поняли, как написать контекстный процессор.Как сказано в документации [Django-doc] :
У контекстного процессора очень простой интерфейс: это функция Python, которая принимает один аргумент ,HttpRequest
объект, а возвращает словарь , который добавляется в контекст шаблона.Каждый контекстный процессор должен возвращать словарь.
Так что вы должны просто написать это как:
def following_issues(request):
if request.user.is_authenticated:
return {
'following_topics': Issue.objects.filter(followers=request.user)
}
else:
return {
'following_topics': Issue.objects.none()
}
Таким образом, мы можем просто вернуть здесь словарь, где мы отображаем following_topics
на Issue.objects.filter(..)
выражение.
Кроме того, вы не можете указать followers=request.user.is_authenticated
, так как это логическое значение, и вы, вероятно, если я правильно понимаю моделирование, фильтруете пользователя.Здесь я написал, что в случае, если пользователь не аутентифицирован, мы возвращаем пустое QuerySet
.