Django - 将模型对象数据传递给模板

时间:2017-03-16 02:34:39

标签: python django templates

我无法解决它。我想将特定数据从模型传递到模板。 我曾经尝试过一些无法解决的问题。任何人都可以帮助我,我是否需要为view.py编写逻辑或者是否有简单的方法来传递数据。

class Receipt(models.Model):

amount = models.DecimalField(max_digits=5, decimal_places=2)
vat = models.DecimalField(max_digits=5, decimal_places=2)
total_amount = models.DecimalField(max_digits=5, decimal_places=2)

def __str__(self):
    return str(self.total_amount)



#My view.py


class IndexView(TemplateView):
    template_name = "index.html"
    model = Receipt
class DetailView(TemplateView):
    template_name = "detail.html"
    model = ReceiptItem


#index.html

    <div class="panel panel-default">

  <div class="panel-heading">Market</div>
  <table class="table">
    <tr>
      {% for amount in objects %}
      <td>{{ amount }}</td>
      <td>{{ vat }}</td>
      <td>{{ total_amount }}</td>
      {% endfor %}
    </tr>
  </table>
</div>

1 个答案:

答案 0 :(得分:2)

TemplateView不提供对模型的支持。如果你想要一个所有对象的列表,你可以循环它们,你需要一个ListView,然后切换你的for循环:

{% for amount in object_list %}

https://docs.djangoproject.com/en/1.10/ref/class-based-views/generic-display/