Ну так передавайте во вьюхах данные в контекст, и в темплейтах эти данные собственно выводите.
В views.py передаете в контекст какие-то данные:
from django.http import Http404
from django.shortcuts import render
from models import КакаяТоМодель
def my_view(request, какой_то_id):
try:
my_obj = КакаяТоМодель.objects.get(pk=какой_то_id)
except КакаяТоМодель.DoesNotExist:
raise Http404(u"Объект КакаяТоМодель с id={id} отсутствует в базе".format(id=какой_то_id))
какая_то_переменная = ФункцияДляПолучениЧегоТоИзБазы()
return render(request, 'какой_то_темплейт.html', {'my_obj': my_obj, 'my_var': какая_то_переменная})
а в темплейте получаете то что передали в контекст
...
{{ my_obj.какое_то_поле }}
{{ my_obj.какое_то_поле }}
....
{{ my_var }}
....
А вообще вот это:
class BannerView(View):
model = Banner
template_name = 'home.html'
def get_queryset(self):
return Banner.objects.all()
нужно заменить на это:
class BannerView(ListView):
model = Banner
template_name = 'home.html'
тогда в темплейте список всех ваших объектов передастся в виде object_list, по которым вы можете пробежаться как-то так:
....
{% for obj in object_list %}
{{ obj.какое_то поле }}
{% endfor %}
....
тут
class HomePage(TemplateView):
template_name = 'home.html'
контекст можно передать так:
class HomePage(TemplateView):
template_name = 'home.html'
def get_context_data(self, *args, **kwargs):
context = super(HomePage, self).get_context_data(*args, **kwargs)
context['имя_какой_то_переменной_для_темплейта'] = ФункцияДляПолученияКакихТоДанных()
return context
тогда в темплейте она будет доступна как:
....
{{ имя_какой_то_переменной_для_темплейта }}
....
А вообще - пройдите хотя бы какой-нибудь туториал по Django где это подробно объясняется...