Существует страница выставления счетов, на которой я заполняю все данные и нажимаю кнопку «Выставить счет», затем должна быть сгенерирована страница счета

#python #django

Вопрос:

Есть страница выставления счетов, на которой я заполняю все детали и нажимаю кнопку «Выставить счет», затем должна быть сгенерирована страница счета, она не приходит.

views.py

 def makebill(request):
    if request.method == "POST":
        cart = request.POST.get('cart')
        price = request.POST.get('price')
        n = request.POST.get('name')
        phone = request.POST.get('phone')
        data = json.loads(cart)
        for c in data:
            name = c['name']
            qty = c['qty']
            prod = Product.objects.get(name=name)
            prod.qty = prod.qty - int(qty)
            if prod.qty <= 0:
                messages.warning(request, f'{prod.name} has finished')
                prod.delete()
            else:
                prod.save()
        p= Sales(items_json=cart, amount=price, name=n, phone=phone)
        p.save()
        total = price
        product = Product.objects.all().order_by('name')
        product_list = list(product.values('name', 'cost'))
        context = {}
        context["product"] = json.dumps(product_list)
        try:
            context["total"] = total
        except:
            pass
        return render(request, 'makebill.html', context)
 

Заранее спасибо!

Комментарии:

1. Почему пейдж не приходит? В чем заключается ошибка, которую вы получаете? Это HTTP 500 или что-то еще? Пожалуйста, расскажите более подробно об этой проблеме. Кроме того, отступ вашего кода выглядит не очень хорошо. Будьте осторожны, последние 9 строк находятся за пределами запроса на публикацию.

2. Я не получаю никаких ошибок всякий раз, когда я заполняю эту форму и нажимаю «Оплатить счет», после чего я перенаправляюсь на ту же страницу. вместо перенаправления на ту же страницу я хочу перенаправить на страницу счета-фактуры.

3. Отступ кода в порядке? Похоже, что это не так. Последние 9 строк должны быть с отступом. Если это просто выглядит так в вашем посте, но ваш код правильный, исправьте это также здесь, потому что это сбивает с толку. Также все еще не помогает с ошибкой. Ваш сервер получил запрос от интерфейса? Что он вернул?

4. Если я сделал отступ в коде, эта ошибка показывает «Вид home.views.makebill не вернул объект HttpResponse. Вместо этого он ничего не вернул».