python - 我无法过滤从我的网址获取数据以保存到
问题描述
我想保存交易并根据我从响应 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)
解决方案
推荐阅读
- node.js - 如果客户端不尝试创建开放的 websocket 连接,我可以在 http.createServer 函数中放置一个请求侦听器吗?
- vuetify.js - Vuetify:关闭对话框时如何执行方法?
- python - 如何在 R 中找到 K 折验证的平均训练和交叉验证误差?
- php - PHPMailer 发送电子邮件到接收者电子邮件
- selenium - 如何在 selenium 驱动程序中禁用 chrome 权限弹出窗口
- angular - 在 Nestjs 测试中在导入的模块中注入依赖项
- java - java - 如何使用 compareTo 方法将值插入到 java 中的队列中?
- java - 即使代码格式正确并且明确调用了方法,也缺少返回语句
- automata - 具有 4 或 5 个状态的 DFA
- javascript - 多个 Shopify 布局脚本 - “脚本”和“javascript”类型