首页 > 解决方案 > 我无法过滤从我的网址获取数据以保存到

问题描述

我想保存交易并根据我从响应 url 获得的状态增加投票数并将用户重定向到成功页面。但是所有交易都会进入错误页面,即使它们是成功的。

我想从 URL 检查status== 'Approved' 然后我保存模型并使用新投票更新模型并将用户重定向到成功页面。这是我得到的 url 响应 http://127.0.0.1:8000/process-payment/robert-yenji/000000000050/?votes=1?status=Approved&code=000&reason=Approved%3A%20Transaction%20successful!&transaction_id=314304818998

这是

 my views.py


def process_payment(request, slug, amount):
    trans_id = request.GET.get('transaction_id')
    status = request.GET.get('status')
    reason = request.GET.get('reason')
    transaction_id = request.GET.get('transaction_id')
    if status == 'Approved':
        transaction = SuccessfulTransactionHistory(
            nominee_name=slug,
            transaction_id=transaction_id,
            amount=amount
        )
        transaction.save()
        nomination = Nomination.objects.filter(slug=slug).values('votes')
        Nomination.objects.filter(slug=slug).update(votes=F('votes') + int(request.GET['votes']))
        return redirect('/success')
    else:
        context = {
            'error': reason
        }
        transaction = FailedTransactionHistory(
            nominee_name=slug,
            transaction_id=transaction_id,
            amount=amount
        )
        transaction.save()
        return render(request, 'payment_error.html', context=context)

标签: pythondjangodjango-modelsdjango-forms

解决方案


推荐阅读