Локальная переменная ‘cid’, на которую ссылаются перед назначением

#django

Вопрос:

Я пытаюсь добавить способ оплаты. Я также добавляю Getway и получаю сообщение об успехе. Теперь я хочу показать сообщение об успехе с 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)  

Ответ №1:

Вы можете пропустить блок или сделать дополнительный отступ. Определите его, прежде чем пытаться заблокировать.

Вы можете попробовать это:

 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.