Ответ @ Доминик правильный, но когда вы пишете что-то в context_processors
, это загружается на любой странице веб-сайта. Это может быть причиной проблем с производительностью.
Я думаю, что правильный способ обработки динамической боковой панели - simpletag
и используйте там, где вам нужно.
def get_sidebar():
tags = Tags.objects.filter(active=True)
latest_posts = Post.objects.all().order_by('-create_at')[:10]
html = render_to_string("sidebar.html", {
"tags": tags,
"latest_posts": latest_posts
})
return html
А теперь просто используйте в файлах шаблонов:
<div class="col-md-4 sidebar">
{% get_sidebar %}
</div>
Кроме того, вы можете передать request
на simpletag
, чтобы использовать user.is_authenticated
для аутентифицированного доступа пользователя.