Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更新购物车中的商品数量时工作不正常_Python_Django - Fatal编程技术网

Python 更新购物车中的商品数量时工作不正常

Python 更新购物车中的商品数量时工作不正常,python,django,Python,Django,我正在做一个Django电子商务项目,我一直在学习一个教程,后来我决定在没有教程的情况下自己重做,但我遇到了一个小问题,我不理解它背后的逻辑 当用户将项目添加到购物车时,我希望它反映在导航栏购物车图标上显示的项目数量,但我得到了无效过滤器:“购物车项目计数” 这是我的Item model.py class Item(models.Model): title = models.CharField(max_length=100) image = models.ImageField(b

我正在做一个Django电子商务项目,我一直在学习一个教程,后来我决定在没有教程的情况下自己重做,但我遇到了一个小问题,我不理解它背后的逻辑

当用户将项目添加到购物车时,我希望它反映在导航栏购物车图标上显示的项目数量,但我得到了
无效过滤器:“购物车项目计数”

这是我的Item 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\u template\u 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\u item\u count
作为过滤器的逻辑背后的含义

有更简单的方法吗


谢谢

根据django doc关于,您需要

  • 在模板中添加
    {%load cart\u template\u tags%}
  • 重新启动服务器以使自定义标记正常工作

  • 尝试重新启动服务器。@ha neul没有发生同样的错误您的模板中有{%load cart_template_tags%}吗?@ha neul是的您可以添加它作为答案谢谢