所以我使用的付款有一個叫做 verify 的視圖,它會檢查結果是否正常,做點什么。但是我需要將先前視圖中的 order_id 傳遞給這個視圖,該視圖是來自 url 的令牌。一些建議是使用全域 . 但我怕真服務器出錯。
如果你需要 。它的代碼:
向支付中心發送請求的上一個視圖:
def send_request(request , order_id):
i = order_id
amount = get_object_or_404(Order , id = i , user_id = request.user.id)
result = client.service.PaymentRequest(MERCHANT , amount.total , description , email , mobile , CallbackURL)
if result.Status == 100 :
return redirect('https://www.zarinpal.com/pg/StarPay' str(result.Authority))
else :
return HttpResponse('error code : ' , str(result.Status))
我在下一個視圖中需要 order_id
所以我能做什么??請幫助!
uj5u.com熱心網友回復:
在 Django 中可以通過多種方式將資料從一個視圖傳遞到另一個視圖。
您可以使用 url 引數:
def present_view(request):
if condition:
return reverse('next_view', args(order_id))
return render(request, 'present_view.html', locals())
def next_view(request, order_id):
# Retrieve order_id from url parameter
id = order_id
# Do some stuff with id here
網址.py
path('present_view/', views.present_view, name=present_view),
path('next_view/<int:order_id>/', views.next_view, name=next_view)
您可以使用會話:
def present_view(request):
if condition:
# Set the id in the session
request.session['order_id'] = 'some_id_123'
return reverse('next_view', args(order_id))
return render(request, 'present_view.html', locals())
def next_view(request, order_id):
# Retrieve order_id from session, id = 0 if order_id is not found
id = request.session.get('order_id', 0)
# Do some stuff with id here
網址.py
path('present_view/', views.present_view, name=present_view),
path('next_view/', views.next_view, name=next_view)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/352958.html
標籤:Python 姜戈 django-views
