• Вопрос по выводу контента Django в HTML?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Ну так передавайте во вьюхах данные в контекст, и в темплейтах эти данные собственно выводите.

    В 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 где это подробно объясняется...
    Ответ написан