Python + Django (итоговая цена и позиции не меняются!) - PullRequest
0 голосов
/ 09 мая 2020

У меня это в корзине. html: Корзина

когда я делаю изменения, которые я покажу ниже, общая цена, которая в конце с зеленым плюсом изменилась, но общая цена и товары, которые выросли, вообще не отображаются после внесенных мной изменений!

поэтому я делаю это:

в классе OrderItem я добавляю:

@property
def get_total(self):
    total = self.product.price * self quantity
    return total

затем я go в свой шаблон -----> cart. html и меняю stati c общую цену 40

на это: <div style="flex:1">${{item.get_total}}</div>

и все в порядке с этими изменениями, но затем я делаю изменения, как показано ниже

в классе Порядок, который я добавляю:

@property
def get_cart_total(self):
    orderitems = self.orderitem_set.all()
    total = sum([item.get_total for item in orderitems])
    return total

@property
def get_cart_items(self):
    orderitems = self.orderitem_set.all()
    total = sum([item.quantity for item in orderitems])
    return total

, затем я go в views.py и делаю это изменение:

from context = {'items': items} ----> context = {'items': items, 'order': order}

затем внесите эти изменения в корзину. html :

<th><h5>Items: <strong>3</strong></h5></th>  ------>  <th><h5>Items: <strong>{{order.get_cart_items}}</strong></h5></th>

<th><h5>Total: <strong>$43</strong></h5></th> ----->  <th><h5>Total: <strong>${{order.get_cart_total}}</strong></h5></th>

Итак, из изменений, которые я делаю из класса Order и ниже, ничего не меняется на сервере!

views.py

models.py

Ответы [ 2 ]

0 голосов
/ 11 мая 2020

Решено!

это было из-за пространств имен до get!

спасибо всем!

0 голосов
/ 09 мая 2020

Пожалуйста, публикуйте свой код в будущем в code blocks, а не в виде снимков экрана.

Проблема, с которой вы столкнулись, заключается в том, что ваш контекст представления cart не содержит объекта order.

...