#django #django-models #django-views #django-templates
#django #django-модели #django-просмотры #django-шаблоны
Вопрос:
Как вернуть несколько значений одного метода в шаблоне в django
class Invoice(models.Model):
client = models.ForeignKey(Client, on_delete=models.PROTECT)
price = models.DecimalField(default=0, max_digits=20, decimal_places=2)
quantity = models.DecimalField(default=0, max_digits=20, decimal_places=2)
def total(self):
x = self.price
y = self.quantity
return x, y
Вид :
def Invoice(request, pk):
invoice = Invoice.objects.get(id=pk)
context = {'invoice':invoice}
return render(request, 'sales/invoice.html', context)
Как реализовать это в Html? {{ счет }}
Ответ №1:
Просто передайте в контексте функции просмотра все значения в шаблон, который вам нужно отобразить
def Invoice(request, pk):
invoice = Invoice.objects.get(id=pk)
total = Invoce.total(x,y)
context = {'invoice':invoice,
'total': total}
return render(request, 'sales/invoice.html', context)
обратите внимание, что total будет кортежем
Комментарии:
1. просто добавьте представление, если можете, чтобы показать, как я могу передать в view
2. спасибо, я получил кортеж, но все та же проблема снова с кортежем, как показать его в шаблоне!
3. если нужно показать только total, вы можете вернуть total из функции или, если вам нужно показать x, y отдельно, вы можете отправить отдельные значения, такие как total [0], total [1]