Я довольно новичок в Django и у меня проблемы с передачей переменной в шаблон Django. Мой код находит среднее значение поля Integer из базы данных (используя AVG Django), а затем вычисляет результат. В конечном итоге я хотел бы передать результат этого вычисления в шаблон.
Мой model.py:
from django.db import models
class Post(models.Model):
fname = models.CharField(max_length=20)
lname= models.CharField(max_length=25)
reading=models.IntegerField(default=100)
entrytime=models.DateTimeField(auto_now_add=True)
def __str__(self):
return self
Представление:
from django.views.generic import TemplateView, ListView
from django.db.models import Avg
from .models import Post
class ShowCalcView(ListView):
model=Post
template_name = 'calc.html'
def calca1c(request):
context = Post.objects.aggregate(Avg('reading'))
r=context['reading__avg']
rs = (46.7 + r) / 28.7
context['calc'] = rs
return context
шаблон:
<h1>Approximate A1C</h1>
<p>Approximate A1c: {{ calc }}</p>
Я пытался использовать {{cal c}}, {{cal c .rs}}, {{calc ['rs']}} и почти любая другая комбинация, о которой я могу думать, но значение не передается. Я проверил функцию в оболочке, и она дает желаемый результат. Возможно, я упускаю что-то очевидное, но не могу понять.
Спасибо за вашу помощь.