Django generic DetailView Я хочу создать и отобразить несколько объектов, но что мне делать?

model.py

class Kcal(models.Model):
    height = models.PositiveIntegerField(default='',  null=False , verbose_name='height')
    weight = models.PositiveIntegerField(default='',  null=False, verbose_name='weight')
    age = models.PositiveIntegerField(default='',  null=False, verbose_name='age')
    sex = models.CharField(max_length=200, choices=SEX_CHOICE,  null=False, verbose_name='sex')

view.py


class KcalDetailView(DetailView):
    model = User
    context_object_name = 'target_kcal'
    template_name = 'kcalculatorapp/detail.html'

    def get_context_data(self, **kwargs):
        try:
            kcl = self.request.user.kcal
            men_kcal = round((66 + (13.8 * kcl.weight + (5 * kcl.height)) - (6.8 * kcl.age)) * (kcl.actv))
            women_kcal = round((655 + (9.6 * kcl.weight + (1.8 * kcl.height)) - (4.7 * kcl.age)) * (kcl.actv))

            if kcl.goal == 'diet':
                if kcl.sex == 'male':
                    bmr = men_kcal - 500
                else:
                    bmr = women_kcal - 500
                return bmr
            else:
                if kcl.sex == 'male':
                    bmr = men_kcal + 500
                else:
                    bmr = women_kcal + 500
                return bmr

            if kcl:
                context = super().get_context_data(**kwargs)
                context['bmr'] = bmr
                context['carb_kcal'] = bmr * (2/3)
                context['prt_kcal'] = bmr * (1/6)
                context['fat_kcal'] = bmr - (carb_kcal + prt_kcal)

                return context
        except:
            HttpResponseRedirect(reverse('kcalculatorapp:create'))

с моделью ккал. Превращение информации о теле в объект.

В общем представлении детального представления я использовал метод def get_context_date().

После импорта объекта модели и обработки его в шаблоны {{ carb_kcal }} {{ prt_kcal }} Я хочу разместить его следующим образом.

Что мне делать?

Вернуться на верх