锚定标签不';t将项目提交给购物车python django

锚定标签不';t将项目提交给购物车python django,python,django,django-models,django-views,Python,Django,Django Models,Django Views,我的制服模型显示了一个项目仪表板。我正在尝试将项目发送到购物车以签出项目。我在加载我的内部服务器时没有问题,也没有调试问题。但是,当查看我的管理订单项目模型时,没有向其推送任何内容: url.py from apparelapp import views ... # TEMPLATE URLS app_name = 'apparelapp' urlpatterns = [ ... path('add_to_cart/<slug>/', views.add_to_cart, name

我的
制服
模型显示了一个项目仪表板。我正在尝试将项目发送到购物车以签出项目。我在加载我的内部服务器时没有问题,也没有调试问题。但是,当查看我的管理订单项目模型时,没有向其推送任何内容:

url.py

from apparelapp import views
...

# TEMPLATE URLS
app_name = 'apparelapp'
urlpatterns = [
...
path('add_to_cart/<slug>/', views.add_to_cart, name="add_to_cart"),
...
]

# add to cart
def add_to_cart(request, slug):
    item = get_object_or_404(Uniform, slug=slug)
    order_item = OrderItem.objects.create(item = uniform)
    order_qs = Transaction.objects.filter(user=request.user, ordered=False)
    if order_qs.exists():
        order = order_qs[0]

        if transaction.items.filter(item__slug=item.slug).exists():
            order_item.quantity += 1
            order_item.save()

        else:
            transaction.item.add(item)

    else:
        ordered_date = timezone.now()
        order = Transaction.objects.create(user=request.user, ordered_date = ordered_date)
        order.items.add(order_item)

    messages.success(request, "Added to cart!")
    return redirect('apparelapp:item_list')
#OrderItem
class OrderItem(models.Model):
    uniform = models.OneToOneField(Uniform, on_delete = models.PROTECT)
    start_date = models.DateTimeField(auto_now_add=True)
    ordered_date = models.DateTimeField(null = True)
    quantity = models.IntegerField(default = 1)

    def __str__(self):
        return self.uniform.description

#Item
class Uniform(models.Model):
    category = models.CharField(choices = CATEGORY_CHOICES, max_length=11)
    description = models.CharField(max_length = 50)
    price = models.FloatField(max_length = 6)
    size = models.CharField(choices=CLOTHES_SIZE, max_length=4, blank=True)
    style = models.CharField(choices=STYLE_CHOICES, max_length=15, blank=True)
    image = models.ImageField(upload_to='uniforms/')
    slug = models.SlugField()

    class Meta:
        ordering = ['category']

    def __str__(self):
        return '{}: {} - {} - ${}'.format(self.category, self.description, self.size, self.price)

    def add_to_cart_url(self):
        return reverse("apparelapp:add_to_cart", slug=slug)
型号.py

from apparelapp import views
...

# TEMPLATE URLS
app_name = 'apparelapp'
urlpatterns = [
...
path('add_to_cart/<slug>/', views.add_to_cart, name="add_to_cart"),
...
]

# add to cart
def add_to_cart(request, slug):
    item = get_object_or_404(Uniform, slug=slug)
    order_item = OrderItem.objects.create(item = uniform)
    order_qs = Transaction.objects.filter(user=request.user, ordered=False)
    if order_qs.exists():
        order = order_qs[0]

        if transaction.items.filter(item__slug=item.slug).exists():
            order_item.quantity += 1
            order_item.save()

        else:
            transaction.item.add(item)

    else:
        ordered_date = timezone.now()
        order = Transaction.objects.create(user=request.user, ordered_date = ordered_date)
        order.items.add(order_item)

    messages.success(request, "Added to cart!")
    return redirect('apparelapp:item_list')
#OrderItem
class OrderItem(models.Model):
    uniform = models.OneToOneField(Uniform, on_delete = models.PROTECT)
    start_date = models.DateTimeField(auto_now_add=True)
    ordered_date = models.DateTimeField(null = True)
    quantity = models.IntegerField(default = 1)

    def __str__(self):
        return self.uniform.description

#Item
class Uniform(models.Model):
    category = models.CharField(choices = CATEGORY_CHOICES, max_length=11)
    description = models.CharField(max_length = 50)
    price = models.FloatField(max_length = 6)
    size = models.CharField(choices=CLOTHES_SIZE, max_length=4, blank=True)
    style = models.CharField(choices=STYLE_CHOICES, max_length=15, blank=True)
    image = models.ImageField(upload_to='uniforms/')
    slug = models.SlugField()

    class Meta:
        ordering = ['category']

    def __str__(self):
        return '{}: {} - {} - ${}'.format(self.category, self.description, self.size, self.price)

    def add_to_cart_url(self):
        return reverse("apparelapp:add_to_cart", slug=slug)
html

<h2>List of items</h2>

<section class="text-center mb-4">

  <div class="row wow fadeIn">
    {% for item in object_list %}
        <div class="col-lg-3 col-md-6 mb-4">
            <div class="card">
                <div class="view overlay">
                    <img src="{{ item.image.url }}" alt="Oh no!" width="200" height="200">
                    <a>
                        <div class="mask rgba-white-slight"></div>
                    </a>
                </div>
                <div class="card-body text-center">
                    <label>
                        <h5>{{ item.description }}</h5>
                    </label>
                    <h5>
                        {% if object.description %}
                        <strong>
                            <label for="">{{ item.category }}</label>
                        </strong>
                        {% endif %}
                    </h5>
                    <div class="row">
                      <div class="col-lg-2">
                          <a href="#" class="btn btn-primary" role="button">Size</a>
                      </div>
                      <div class="col-lg-10">
                          <a href="{{ object.get_add_to_cart_url}}" class="btn btn-primary">Add to Cart</a>
                      </div>
                    </div>
                </div>
            </div>
        </div>
    {% endfor %}
</div>
项目列表
{对象_列表%中的项的百分比}
{%endfor%}

最初,我尝试了一次添加一个项目的按钮,它工作了,但没有添加任何其他项目,现在链接作为一个整体无法工作。我的
视图.py
中是否缺少某些内容?

如果需要,您可以轻松使用
urlpatterns
列表中
path
元素的
name
属性在项目中导航,而无需更改url本身。要使用此功能,可以使用以下语法进行指定:

{{url''arg1=arg.data}

其中是
urlpatterns
path
元素的
name
属性,如我上面所说;arg1不需要作为参数传递,arg.data是要传递的数据

HTML

<div class="col-lg-10">
    <a href="{{ url 'add_to_cart' slug=item.slug }}" class="btn btn-primary">Add to Cart</a>
</div>



如果它不起作用,请告诉我。

请从项目的
url.py
文件中添加
urlpatterns
,在该文件中可以找到url将项目添加到购物车。@PythonNewbie我做了更新。我正在处理这个项目的slug,没有任何东西被推过,也没有错误