簡體   English   中英

更新購物車中的商品數量無法正常工作

[英]Updating the quantity of items in a shopping Cart not working properly

我正在研究 Django 電子商務項目,我一直在學習教程,之后我決定在沒有教程的情況下自己重做,但我陷入了一個小問題,我不明白它背后的邏輯。

當用戶將商品添加到購物車時,我希望它反映在否。 導航欄購物車圖標上顯示的項目,但我收到Invalid filter: 'cart_item_count'

這是我的項目 model.py

class Item(models.Model):
    title = models.CharField(max_length=100)
    image = models.ImageField(blank=False, upload_to=upload_design_to)

class OrderItem(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    ordered = models.BooleanField(default=False)
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    quantity = models.IntegerField(default=1)
    variation = models.ManyToManyField(Variation)

應用程序名稱是store ,所以這是我在教程中所做的

在應用程序中添加了一個名為templatetags的新文件夾,並在模板標簽文件夾中創建了名為cart_template_tags的文件,這是其中的內容:

from django import template

from store.models import Order

register = template.Library()

@register.filter
def cart_item_count(user):
    if user.is_authenticated:
        qs = Order.objects.filter(user=user, ordered=False)
        if qs.exists():
            return qs[0].items.count()
    return 0

我的問題是如何解決此錯誤,我想了解將cart_item_count作為過濾器的邏輯背后的原因?

有更簡單的方法嗎?

謝謝

根據 django 關於自定義模板標簽的文檔,您需要

  1. 在您的模板中添加{% load cart_template_tags %}
  2. 重新啟動服務器以使自定義標簽正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM