赋值前引用的局部变量'cid'



我想添加一个付款方式。我还添加了Get和Get Success Message。现在我想在模板页面中显示带有cid和名称的成功消息。当我想要获取上下文数据时,我得到这个错误。**在赋值前引用局部变量"cid"。**我的代码:

class CheckoutSuccessView(View):
model = Transaction
template_name = 'success.html'

def get(self, request, *args, **kwargs):
# return render(request, self.template_name,{'transaction':transaction})
return HttpResponse('nothing to see')
def post(self, request, *args, **kwargs):
data = self.request.POST


try:
Transaction.objects.create(
name = data['value_a'],
cid = data['value_b'],
tran_id=data['tran_id'],
val_id=data['val_id'],
amount=data['amount'],
card_type=data['card_type'],
card_no=data['card_no'],
...
...
)
messages.success(request,'Payment Successfull')
name = data['value_a'],
cid = data['value_b'],



except:
messages.success(request,'Something Went Wrong')



context = {
'cid': cid,
'name' : name
}
return render(request, 'success.html', context)

您可能会遗漏块或添加额外的缩进。在try块之前定义它

你可以试试:

class CheckoutSuccessView(View):
model = Transaction
template_name = 'success.html'

def get(self, request, *args, **kwargs):
# return render(request, self.template_name,{'transaction':transaction})
return HttpResponse('nothing to see')
def post(self, request, *args, **kwargs):
data = self.request.POST
name = data['value_a'],
cid = data['value_b'],
try:
Transaction.objects.create(
name = data['value_a'],
cid = data['value_b'],
tran_id=data['tran_id'],
val_id=data['val_id'],
amount=data['amount'],
card_type=data['card_type'],
card_no=data['card_no'],
...
...
)
messages.success(request,'Payment Successfull')
except:
messages.success(request,'Something Went Wrong')
context = {
'cid': cid,
'name' : name
}
return render(request, 'success.html', context)

我认为你正在使用SSLCOMMERZ -lib作为SSLCOMMERZ PAYMENT GATEWAY.

最新更新