【发布时间】:2021-03-12 04:38:47
【问题描述】:
嘿,我创建了一个系统,付款后它会显示 PAID。我有一个继续付款的按钮,但是当付款成功时,该按钮将变为隐藏状态。就像状态已付款一样,该按钮将被隐藏
这是我的model.py
class Order(models.Model):
product = models.ForeignKey(
Product, on_delete=models.CASCADE, related_name="product")
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
quantity = models.IntegerField(default=1)
fname = models.CharField(max_length=100, null=True)
address = models.CharField(max_length=1000, null=True)
phone = models.CharField(max_length=12, null=True)
price = models.IntegerField()
date = models.DateField(datetime.datetime.today, null=True)
status = models.CharField(
max_length=100, blank=True, null=True, default="Unpaid")
payment_method = models.ForeignKey(
PaymentMethod, on_delete=models.CASCADE, blank=True, null=True)
total = models.IntegerField(null=True)
这是我的 Views.py :
def get(self, request, id):
user_orders = Order.objects.get(pk=id)
args = {'user_orders': user_orders}
return render(self.request, 'Home/invoice.html', args)
def post(self, request, *args, **kwargs):
customer = Customer.objects.get(id=request.session['customer']['id'])
user_orders = Order.objects.get(pk=kwargs['id'])
total = user_orders.total
balance = request.session['customer']['coin']
if balance >= total:
balance = balance - total
customer.coin = balance
customer.save()
Order.objects.filter(pk=kwargs['id']).update(
status='PAID'
)
request.session['customer']['coin'] = balance
request.session.save()
return redirect('/orders')
return HttpResponse("Insufficient Balance")
【问题讨论】:
-
当支付状态不是“PAID”时,只需创建一个
If以显示按钮 -
你能给我一个样品吗