我不知道我哪里出错了。我正在使用Django / HTML / Foundations创建一个Web商店,我无法让数据库中的产品显示在网页上。我知道他们在数据库中,因为当我进入管理页面时,他们会出现。
这是HTML片段:
{% for products in Product %}
<div class="column">
<h5>Title: {{products.product_name}}</h5>
<h5>Type: {{products.product_type}}</h5>
<h5>Price: {{products.sales_price}}</h5>
<img class="thumbnail" src="http://placehold.it/550x550">
</div>
{% endfor %}
这是模特:
class Product(models.Model):
product_name = models.CharField(max_length=255)
product_type = models.CharField(max_length=100)
sales_price = models.CharField(max_length=10)g
def __str__(self):
return self.product_name + " " + self.product_type + " " + self.sales_price
我的views.py中唯一的产品页面是:(可能是我的问题所在)
def products(request):
return render(request,"products.html")
我是django和python的新手。有人可以解释一下发生了什么吗?感谢
答案 0 :(得分:2)
您的视图需要使用products
参数向模板提供context
信息。 See the documentation for render()
views.py:
def products(request):
context = {'products':Product.objects.all()}
return render(request,"products.html",context)
products.html放在:
{% for product in products %}
<div class="column">
<h5>Title: {{product.product_name}}</h5>
<h5>Type: {{product.product_type}}</h5>
<h5>Price: {{product.sales_price}}</h5>
<img class="thumbnail" src="http://placehold.it/550x550">
</div>
{% endfor %}
答案 1 :(得分:0)
您是否尝试过从
更改for循环{% for products in Product %}
到
{% for product in products %}
因为您希望每次处理循环时都显示产品组中的单个产品。