Не ошибка, просто моя программа работает не так, как я хочу.

У меня есть список продуктов, каждый из которых имеет функцию "pack", которая позволяет пользователям вводить любое число, а затем умножает это число на "цену продуктов" выбранного продукта.

views.py

def food_box_func():
    my_food_box = Food.objects.all()

    append_list_item = []
    for item in my_food_box:
        image = item.image
        food_item = item.food_item
        food_price = item.food_price
        food_slug = item.slug
        list_item = [image,food_item,food_price,food_slug]
        new_list_item = append_list_item.append(list_item)
    return append_list_item

def food_box(request, slug):
    quantity = ""
    total_price = ""
    for item in food_box_func():
        
        if request.method == "POST":
            try:
                quantity = int(request.POST.get("price in pack"))
                print(quantity)
                total_price = quantity*item[2]
                print(total_price)
                return render(request,'payments/pay.html',{'price':total_price,'slug':slug,'quantity':quantity,'total_price':total_price})
            except ValueError:
                return render(request,'food_app/404.html')
        break
        
    return render(request,'food_app/food_box.html',{'item':food_box_func(),'price':total_price,'slug':item[3]})

Вот мой шаблон еды, который связан с видом выше:

<body>
    <div class="container">
    <br><br><h1><center>Food box page!</center></h1><br><br>
    </div>

    {% for message in messages %}
    <div class="alert alert-{{message.tags}} alert-dismissible fade show" role="alert">
    <strong>Message:</strong> {{message}}
    <button type="button" class="close" data-dismissible="alert" aria-label="close">
    <span aria-hidden="True">&times;</span>
    </button>
    </div>
    {% endfor %}


                {% comment %} Each for loop item takes its slug input and directs the user to its particular view on the payment page. 
                {% endcomment %}

                {% if user.is_authenticated %}
                
                {% for item in item %}
                
                <div class="container">
                <a href= "{% url 'payments:payment' price=item.2 slug=item.3 %}"><img src={{item.0.url}} class="img-fluid"></a><br><br>
                <h2>{{item.1|capfirst}}</h2>
                <h3>₦{{item.2}}</h3>
                <button type="submit" class="btn btn-success" onClick="window.location='{% url 'payments:payment' price=item.2 slug=item.3 %}';"><strong>Eat Me!</strong></button><br><br>

                <form action="{#{% url 'payments:payment' price=total_price slug=item.3 %}#}" method="POST">
                  {% csrf_token %}

                <div class="input-group mb-3">
                  <span class="input-group-text">Price in packs</span>
                  <input type="number" class="form-control" name="price in pack"  aria-describedby="price in pack" placeholder="Input numbers between 20 and 100" aria-label="Input numbers between 20 and 500" min="20" max="100">
                  <button type="submit" class="btn btn-success"><strong>Click Me!</strong></button>
                </div>
                </form><br><br><br><br>
                </div>

                {% endfor %}

Приведенная выше программа работает только для первого товара, но мне нужно, чтобы она работала для всех товаров в соответствии с запросом пользователя.

Вернуться на верх