python - 为什么我的 django 模型数据不显示在 html 中
问题描述
按照本教程,我正在创建一个简单的电子商务网站。我将数据存储在 Django 模型中,我在视图中调用它,但它不会显示在我的 html 中。基本上,我希望它为捐赠模型中的每一笔捐赠创建一个如下框,但它不起作用。有人可以帮帮我吗?我知道这似乎很容易解决,但我无法理解它。我的代码在下面。
看法:
def availablesupplies(request):
donations = Donation.objects.all()
context = {'donations':donations}
return render(request, 'availablesupplies.html')
模型:
class Donation(models.Model):
title = models.CharField(max_length=30)
phonenumber = models.CharField(max_length=12)
category = models.CharField(max_length=20)
quantity = models.IntegerField(blank=True, null=True,)
location = models.CharField(max_length=50, blank=True, null=True,)
description = models.TextField()
datedonated = models.DateTimeField(auto_now_add=True)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
blank=True,
null=True,
)
HTML:
<div class="row">
{% for donation in donations %}
<div class="col-lg-4">
<img class="thumbnail" src="{% static 'images/gooddeedplaceholderimage.png' %}">
<div class="box-element product">
<h6><strong>Product</strong></h6>
<hr>
<button class="btn btn-outline-secondary add-btn">Add to Cart</button>
<a class="btn btn-outline-success" href="#">View</a>
<h4 style="display: inline-block; float: right"><strong>$20</strong></h4>
</div>
</div>
{% endfor %}
</div>
{% endblock content %}
解决方案
您需要将上下文对象传递给渲染引擎:
def availablesupplies(request):
donations = Donation.objects.all()
context = {'donations':donations}
# pass the context ↓
return render(request, 'availablesupplies.html', context)
推荐阅读
- c++ - 将双 * 转换为 std::vector
给我错误 - javascript - 如何使用 JQuery 而不是 Javascript 来显示警报消息?
- r - 有效地存储具有大量预编译变量的数据集(并且可能只使用少数变量)
- python - Python:当您的脚本需要本地目录时,如何在云端运行 Cron 作业?
- javascript - 添加方法“FirestoreConnect”时出现错误
- sql - SYSDATETIMEOFFSET() 关闭偏移量
- docker - 如何从主机访问容器 IP
- laravel - 使用 Laravel Mix 的 Webpack 块名称
- javascript - 如何使用 JS 从 URI 获取查询参数和编码信息
- sql - 为什么这个 SQL 代码的行为是这样的。不应该抛出编译错误吗?