與HttpResponseRedirect發送請求方面,我有一個Django應用程序和實施的支付網關功能。 現在我試圖爲不同方式對在Django
成功TRANSATION後,需要做的將用戶重定向到另一個頁面,顯示響應細節,讓我使用HttpresponseRedirect
重定向的頁面,但我已經在視圖中的變量response
包含效應初探細節,所以我需要將這個變量作爲上下文發送到呈現模板的重定向url,以便我可以使用該響應變量來顯示結果。
因此,對於上面的功能,我有三個方法
- 發送變量作爲查詢參數(這是不是在這種方法安全,因爲它是敏感的信用卡交易明細)
- 使用會話框架,其未在我的情況下工作,該代碼是下面
- Django的消息傳遞框架(這不是如此有用在這種情況下)
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
方法
您應該顯示'payment_success'視圖的代碼。 –
那只是一個模板類視圖與像TEMPLATE_NAME一個屬性,反正上面的代碼 –
所以掛在編輯,什麼是負責渲染'payment_template.html'? –