我有一个名为“展览”的模型,在这里,我允许用户在填写表格后创建一个新的展览/活动,他们被要求支付一些金额,并被重定向到一个支付网关(paypal根据django-paypal),成功付款后,我想更新我的'展览'表只为那些已经付款的人,用户被要求在创建事件之前登录,我还将用户与表单一起保存在我的数据库中。在
这是我保存表单的视图:
def new_event(request):
form = NewEventForm(request.POST or None)
if form.is_valid():
save_it = form.save(commit=False)
save_it.user = request.user
save_it.save()
return render_to_response('new_event.html',locals(), context_instance=RequestContext(request))
我的模特:
^{pr2}$如果我使用django paypal视图,我将能够处理付款,但我不知道如何获得正确的'Exhibition-id'来更新数据库,我是否应该将其存储在cookies中以及如何进行?在
我建议添加一个包含用户id的自定义字段,并在paypal通知您时恢复它。在
参见下面的自定义: https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNandPDTVariables/
我会尝试在django paypal的模型PayPalStandardBase中添加post-save信号处理程序,然后使用事务记录的字段来标识您的展览记录。您可以使用您模型的主键字段并告诉paypal这是您的交易项目编号,或者只添加任何其他您想用作公共标识符的唯一字段。在
请查看模型:
https://github.com/spookylukey/django-paypal/blob/master/paypal/standard/models.py
信号处理程序如下所示:
您可以将其添加到模型.py你的还是一个信号.py然后从别处进口。在
相关问题 更多 >
编程相关推荐