我有一个django应用程序并实现了支付网关功能。 现在我正在尝试的是
成功转换后,需要将用户重定向到另一个显示响应详细信息的页面,以便我使用HttpresponseRedirect
重定向页面,但我在包含响应的视图中有变量response
详细信息,所以我需要将此变量作为上下文发送到呈现模板的重定向URL,以便我可以使用该响应变量来显示结果。
所以对于上述功能,我有三种方法
views.py
def payment(request):
amount = 1
if request.method == 'POST':
form = CreditCardForm(request.POST)
if form.is_valid():
data = form.cleaned_data
...........
...........
response = stripe.payment_purchase(amount,data)
request.session['response'] = response
return HttpResponseRedirect(reverse('paygate:payment_success'))
else:
form = CreditCardForm(initial={'number':'4242424242424242'})
return render_to_response('payment/stripe_payment_form.html',{'form': form,
'response':response,},
context_instance=RequestContext(request))
payment_success网址视图
class PaymentSuccess(TemplateView):
template_name = 'payment/payment_success.html'
我尝试访问模板中的response
变量,但不显示任何内容
payment_success.html
{% extends "base.html" %}
{% block main_title %}Payment{% endblock %}
{% block title %}Success{% endblock %}
{% block content %}
<h1>Response Details</h1>
<p>Your status is <span>{{ request.session.response }}</span></p>
{% endblock %}
所以任何人都可以告诉我使用credit card payment details
方法发送上下文变量(在本例中为HttpResponseRedirect
)以重定向网址的各种不同安全可靠方式
答案 0 :(得分:0)
我认为列表中有一个可能的项目,我建议使用。
实现目标的最安全,最实用的方法是成功查看显示存储在数据库中的实际结果。
这背后的想法是:
payment
视图是用户对您的数据库执行的操作。
payment_success
视图是一种告诉用户操作已成功执行并使用用户所需输入的方法。
同样,显示操作正确的最佳方式是在数据库上显示其结果,即现在存储在数据库中的有关该操作的内容。