Как дополнительно передать переменные в шаблон через django?
Сразу извиняюсь если выражаюсь немного не правильно. Я новичок :D
У меня есть view:
class TaskListView(LoginRequiredMixin, ListView):
model = TodoItem
context_object_name = "tasks"
template_name = "tasks/list.html"
def get_queryset(self):
u = self.request.user
qs = super().get_queryset()
return qs.filter(owner=u)
Он добавляет объект в мой html. Но и вместе с этим мне нужно добавить пару переменных туда. Я не знаю как, через "render" не получится. А может и получится но я не знаю как этот объединить, помогите пожалуйста, я уже в тупике.
Ответы (2 шт):
Автор решения: Роман
→ Ссылка
args = {}
args['post'] = "То, что нужно передать"
return render(request, 'шаблон, куда нужно передать', args)
В шаблоне
{{post}}
Автор решения: CodingBear
→ Ссылка
class TaskListView(LoginRequiredMixin, ListView):
model = TodoItem
context_object_name = "tasks"
template_name = "tasks/list.html"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['book_list'] = Book.objects.all()
return context
В шаблоне:
{{ book_list }}
Если это не один объект, а несколько то в шаблоне примерно так:
{% for book in book_list %}
<p>{{ book }}</p>
{% endfor %}
Почитать про это можно здесь: https://djbook.ru/rel3.0/topics/class-based-views/generic-display.html#adding-extra-context