Я довольно новичок в Python и Django, и я пытаюсь создать бронирование общежития, используя полосу. Я пытаюсь передать данные (стоимость комнаты) из подробного вида комнаты в вид заряда, но получаю следующую ошибку.
TypeError at /booking/confirm/
BookingConfirmation() missing 1 required keyword-only argument: 'amount'
Request Method: POST
Request URL: http://localhost:8000/booking/confirm/
Django Version: 3.0.2
Exception Type: TypeError
Exception Value:
BookingConfirmation() missing 1 required keyword-only argument: 'amount'
Exception Location: C:\Users\Administrator\Desktop\hostel\env\lib\site-packages\django\core\handlers\base.py in _get_response, line 113
Python Executable: C:\Users\Administrator\Desktop\hostel\env\Scripts\python.exe
Python Version: 3.7.3
Вот мой подробный вид комнаты
def RoomBookingView(request,pk):
publishkey = settings.STRIPE_PUBLISHABLE_KEY
if request.method == 'POST':
if pk:
room_id = Room.objects.get(pk = pk)
amount = room_id.price
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(reverse('confirm', args=[amount]))
context = {
'STRIPE_PUBLISHABLE_KEY' : publishkey,
}
return render(request,'room-detail.html',context)
И мой просмотр Charge
def BookingConfirmation(request,*args,amount):
amount = args
if request.method == 'POST':
charge = stripe.Charge.create(
currency='usd',
amount = amount,
description='A Django charge',
source=request.POST['stripeToken']
)
return render(request,'booking-confirm.html',{})