Как сделать полосу Размер заряда динамич c в Django - PullRequest
0 голосов
/ 18 марта 2020

Я новичок в Django, я пытаюсь создать бронирование общежития с чередующимися платежами. У меня есть модель комнаты и бронирование следующим образом.

class Reservation(models.Model):
    student = models.OneToOneField(User,on_delete=models.CASCADE)
    room = models.ForeignKey(Room, on_delete = models.CASCADE)
    start_date = models.DateTimeField(auto_now_add=True)
class Room(models.Model):
    name = models.CharField(max_length=200)
    slug = models.SlugField(max_length=200,null=True,blank=True,unique=True)
    price = models.IntegerField() 
    hostel = models.ForeignKey(Hostel,on_delete=models.CASCADE,null=True)
    number_of_beds = models.IntegerField()
    room_thumbnail = models.ImageField(null=True)
    resized_thumbnail = ImageSpecField(
                                 processors=[ResizeToFill(620, 430)],
                                 format='JPEG',
                                 options={'quality': 60})

    room_type = models.ForeignKey(Category,on_delete=models.CASCADE)
    room_number = models.IntegerField()
    is_reserved = models.BooleanField(default=False)
    description = models.TextField()

    def get_absolute_url(self):
        return reverse('room_detail', args =[ str( self. id)])

У меня также есть подробный вид комнаты и вид сбора, где я хочу, чтобы сумма заряда на полосе была динамической c в зависимости от цены комнаты. Может ли кто-нибудь помочь мне решить эту проблему?

  

<!-- begin snippet: js hide: false console: true babel: false -->
def BookingConfirmation(request):
  
     
    if request.method == 'POST':
        rooms = Room.objects.all()
        amount = rooms.price

      
        charge = stripe.Charge.create(
    
            currency='usd',
            amount = amount,
            description='A Django charge',
            source=request.POST['stripeToken']
        )
    return render(request,'booking-confirm.html',{})
def RoomBookingView(request,pk):
    publishkey = settings.STRIPE_PUBLISHABLE_KEY
    if request.method == 'POST':



        if pk:
             room_id = Room.objects.get(pk = pk)
             student_id = request.user
             room_id.is_reserved = True,


             reservation = Reservation(
             room_id = room_id.id,
             student_id = student_id.id,


             )
             reservation.save()
             try:
                    room = Room.objects.get(id=pk)
                    room.is_reserved = True
                    amount = room_id.price
                    room.save()
             except BaseException:
                    pass


             return redirect('confirm')
    context = {
        'STRIPE_PUBLISHABLE_KEY' : publishkey,


    }
    return render(request,'room-detail.html',context)
...