Я бы передал список телефонов в ваш шаблон , в отличие от словаря телефонов.Кроме того, для dict_of_phones
установлено только последнее значение ваших телефонных пунктов , поскольку вы каждый раз переопределяете его значение с помощью dict_of_phones = phone
.Таким образом, dict_of_phones
на самом деле является просто отдельным элементом телефона, данным последним элементом в элементах : phone = get_phone_by_id(item)
.Может быть, вы могли бы изменить свой код для создания списка телефонов?Затем передайте этот список в шаблон jinja2
, что-то вроде:
@phones.route("/cartt")
def shopping_cart():
total_price = 0
if "cart" not in session:
flash("There is nothing in your cart.")
return render_template("phones/cart.html", display_cart = {}, total = 0)
else:
# Assuming items is correct, looks off
items = [j for i in session["cart"] for j in i]
phones = []
for item in items:
phone = get_phone_by_id(item)
print(phone.id)
# assuming phone has id,model,year, and price attributes
phones.append[phone]
# note total_price of your cart not currently being used in your template
total_price += phone.price
return render_template('phones/cart.html', display_cart=phones, total = total_price)
Затем в вашем шаблоне вы можете сделать что-то вроде:
{% for phone in display_cart %}
<tr>
<td>{{phone.model}}</td>
<td>{{phone.year}}</td>
<td>${{ "%.2f" % phone.price}}</td>
<td>${{ "%.2f" % phone.price}}</td>
</tr>
{% endfor %}
Надеюсь, чтопомогает!