我正在尝试在模板上打印会话的内容。这是我的代码:
**views.py:**
def add_to_cart(request,pk,slug):
product = get_object_or_404( Product, pk=pk,)
product_document = {
'title': product.title,
'price': product.price,
}
request.session['cart'][str(product.id)] = product_document
print(request.session['cart'])
return render(request,'selling/cart.html')
def cart(request):
template = loader.get_template("selling/cart.html")
cart = request.session['cart']
context ={
'cart': cart,
}
return HttpResponse(template.render(context,request))
**cart.html**
{%if cart%}
{%for items in cart%}
<div class="holla3" id="holla3" style="background-image: url({{ product.productimage_set.first.product_images.url }});"></div>
<div class="alltext" id="textcontainer">
<p id="one">{{ product.title}}</p>
<p id="two">${{ product.price }}</p>
<!-- <p id="three">{{ product.product_description }}</p> -->
</div>
{% endfor %}
{% else %}
<h2>There don't seem to be any items in your cart!</h2>
{% endif%}
所以基本上我想将django会话字典中的所有项目打印到模板上。
答案 0 :(得分:0)
似乎您忘记了items
部分。
{% if cart %}
{% for items in cart %}
<div class="holla3" id="holla3" style="background-image:url({{items.product.productimage_set.first.product_images.url }});"></div>
<div class="alltext" id="textcontainer">
<p id="one">{{ items.product.title }}</p>
<p id="two">${{ items.product.price }}</p>
<!-- <p id="three">{{ items.product.product_description }}</p> -->
</div>
{% endfor %}
{% endif %}
此外,您不应该为views.py命名,也不要在其中命名变量。