【发布时间】:2019-12-18 15:14:58
【问题描述】:
我遵循了这个条纹支付教程:https://testdriven.io/blog/django-stripe-tutorial/。我正在使用弹出框。我不确定如何将信息保存到 Payments 表中。
这是我的视图代码。视图有效,但没有保存到模型中。我正在努力将用户输入的数据保存到我的数据库中。有这方面的好教程吗?我是 Django 新手。
PremiumPurchase 模型包含所有这些元素。
class PaymentsView(TemplateView):
template_name = 'page.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['key'] = settings.STRIPE_PUBLISHABLE_KEY
return context
from catalog.extras import generate_order_id
def charge(request): # new
if request.method == 'POST':
try:
datetime_done = datetime.now() + timedelta(days=3)
order_number = generate_order_id(18)
PremiumPurchase = stripe.Charge.create(
user = request.user,
token = request.POST['stripeToken'],
description = "Purchase of Premium",
datetime_payment = datetime.datetime.now(),
datetime_done = datetime_done,
order_id=order_number,
amount=2.99,
success=True,
)
PremiumPurchase.save()
except:
raise ValidationError("The card has been declined")
return render(request, 'premium/charge.html')
【问题讨论】:
标签: django django-models stripe-payments