Django Redirect не работает внутри представления

Я пытаюсь заставить свой вид перенаправлять на другую страницу после нажатия кнопки, которая вызывает POST-запрос. Я не могу понять, почему перенаправление не работает или почему оно даже не пытается перенаправить.

Вот мое мнение:

def cart1(request):
if request.user.is_authenticated:
    #POST
    if request.method == "POST":
        #JSON Data
        data = request.body
        new_data = ast.literal_eval(data.decode('utf-8'))

        customer = request.user
        user_order = Order(user=customer)
        user_order.save()

        x = 0
        while x < len(new_data.keys()):
            obj_title = new_data[x]["title"]
            obj_price = new_data[x]["price"]
            obj_quantity = new_data[x]["quantity"]
            obj_extra = new_data[x]["extra"]
            total = round(float(obj_price.replace("$", "")))
            m = OrderItem(order=user_order, title=obj_title, price=total, quantity=obj_quantity, extra=obj_extra)
            m.save()
            x += 1 
        redirect('checkout-page')

return render(request, 'cart.html')

Любая помощь будет оценена по достоинству, спасибо

redirect(…) [Django-doc] производит HttpRedirectResponse, вам нужно вернуть его, так:

return redirect('checkout-page')

redirect(…) таким образом, не останавливает поток кода, чтобы перенаправить ответ HTTP-перенаправления, он конструирует такой ответ, и ваше представление должно затем вернуть этот ответ.

вам нужно убедиться, что имя URL =checkout-page находится в текущем приложении, иначе вам нужно сделать его redirect('app:checkout-page')

Однако я предлагаю использовать from django.http import HttpResponseRedirect

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