当我在将数据(特别是条带客户数据)添加到然后添加到我的会话中的字典后重定向到另一个视图时,我会在重定向视图中丢失会话中的所有信息。因此,当我尝试弹出这些项目时,我遇到了 KeyError。
有趣的是,当我将其他类型的信息放在我的 payment_data 字典中时,这不会发生,例如列表而不是客户对象。
我不确定解决此问题的最佳方法是什么,但鉴于我的设计,将客户信息获取到确认视图对我来说很重要,这样我就可以
- 项目清单
- 向用户显示客户信息以供确认(审查敏感信息
- 充值卡
这是我的代码:
class PaymentsCreateView(FormView):
def form_valid(self, form):
customer = stripe.Customer.create(description="""
Non-registered user for applying features""")
customer.save()
payment_data = {
'customer': customer
}
self.request.session['payment_data'] = payment_data
self.request.session.modified = True
import ipdb;ipdb.set_trace();
return HttpResponseRedirect(reverse('payments_confirm'))
class PaymentsConfirmView(TemplateView):
template_name = 'payments/confirm.html'
def get_context_data(self, **kwargs):
context = super(PaymentsConfirmView, self).get_context_data(**kwargs)
context['payment_data'] = self.request.session.pop('payment_data')
context['feature_data'] = self.request.session.pop('feature_data')
return context
我仍在调试,下一步是确认问题是否在于我正在尝试存储 Customer 对象而不是字典或列表对象,但也许 SO 上的某人可以确认或提供正确的答案。