Django: представление не работает, когда я перенаправляю на представление, оно не может загрузить страницу?

Я пытаюсь перенаправить на представление с обратным вызовом в django, но кажется, что это не работает, urls.py выглядит нормально, но он продолжает терпеть неудачу.

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

views.py


def investmentDetail(request, slug):
    investment = InvestmentPackage.objects.get(active=True, slug=slug)

    
    if request.method == "POST":
        purchased_package = PurchasedPackage.objects.create(user=request.user, investment_package=investment )

        purchased_package_id = purchased_package.id

        name = request.POST.get("name")
        email = request.POST.get("email")
        amount = request.POST.get("amount")
        return redirect(str(process_payment(name,email,amount, investment, purchased_package_id)))
    else:
        pass

    context = {
        "investment":investment,
    }
    return render(request, "core/investment-detail.html", context)



def process_payment(name,email,amount, investment, purchased_package_id):
     auth_token= settings.FLUTTER_SECRET_KEY
     hed = {'Authorization': 'Bearer ' + auth_token}
     data = {
                "tx_ref":''+str(math.floor(1000000 + random.random()*9000000)),
                "amount":amount,
                "currency":"NGN",
                "redirect_url":f"http://localhost:8000/callback/{purchased_package_id}/",
                "payment_options":"card",
                "meta":{
                    "consumer_id":23,
                    "consumer_mac":"92a3-912ba-1192a"
                },
                "customer":{
                    "email":email,
                    "name":name
                },
                "customizations":{
                    "title":"Investment Platform",
                    "description":" Limitless Learning For Everyone",
                    "logo":"https://getbootstrap.com/docs/4.0/assets/brand/bootstrap-solid.svg"
                    }
                }
     url = ' https://api.flutterwave.com/v3/payments'
     response = requests.post(url, json=data, headers=hed)
     response=response.json()
     link=response['data']['link']
     return link

@login_required
@require_http_methods(['GET', 'POST'])
def payment_response(request, purchased_package_id=None):
    status=request.GET.get('status', None)
    tx_ref=request.GET.get('tx_ref', None) 
    id=request.GET.get('id', None)
    print(tx_ref) 
    print(status) 
    print(id) 
    if status == "successful":
        if purchased_package_id:
            # user_course = UserCourse.objects.filter(id=user_course_id).update(paid=True)
            package_dict = PurchasedPackage.objects.filter(id=purchased_package_id)
            package_dict.update(paid=True)
            user_payment = package_dict.first()
            user_payment.save()

            return render(request, "core/payment-success.html")
        else:
            return render(request, "core/payment-failed.html")
    if status == "cancelled":
        return render(request, "core/payment-failed.html")


urls.py

    path('callback/<int:purchased_package_id>/', payment_response, name='payment_response')

enter image description here

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