Как написать fetch в этом случае - django app payment
hello Я работаю над приложением на django "мое приложение заключается в оплате чьих-то услуг" клиент заходит на страницу и нажимает на выбранного им человека, затем он заполняет форму и нажимает получить услугу, а затем люди, которые работают в платформе, переходят на другую страницу и они могут найти список форм людей, которые хотят получить их услугу .... но я хочу, чтобы форма не была опубликована, пока не будет произведена оплата, чтобы моя база данных не упала. Итак, это мой views.py У меня есть фактически 2 функции :
#here where client can select people they are willing to take service from
@login_required(login_url='login')
def pSelected(request,slug):
profile = get_object_or_404(Profile,slug=slug)
form = MessageForm()
if request.method == 'POST':
form = MessageForm(request.POST,request.user)
form.sender = request.user.username
form.receiver = request.POST.get('receiver', '')
if form.is_valid():
form.sender = request.user.username
form.receiver = request.POST.get('receiver', '')
messages.success(request, f'succed')
form.save()
print(form.sender,form.receiver)
else:
form = MessageForm()
return render(request,'base/p-selected.html',context)
#here for workers in the platefrorm
@login_required(login_url='login')
def giveService(request):
requests = Message.objects.all().order_by('-id')
context={'requests':requests}
return render(request, 'base/giveService.html',context)
теперь в моем p-selected.html
Я хочу, чтобы работники в plateform не получали форму до тех пор, пока клиент не произведет оплату. Как я могу сделать это в этом случае, я уже пытался, но я действительно не смог добиться успеха много раз, может быть, потому что я не так хорош в js ... Я надеюсь, что вы, ребята, можете помочь мне в этом, я не забуду вашу помощь спасибо вам большое.
Код кнопки PayPal в вашем примере предназначен для интеграции на стороне сервера. Чтобы использовать его, первое, что вам нужно сделать, это создать два фактических маршрута django, которые вызывают API PayPal и возвращают данные JSON, а затем изменить эти два fetches в этом примере, чтобы они указывали на фактические локальные пути рабочих маршрутов, которые вы создали. В качестве альтернативы, вместо того, чтобы делать эту работу с маршрутами и API, вы можете перейти к интеграции JS на стороне клиента (не рекомендуется)
После того как у вас есть работающая кнопка PayPal для платежей (на стороне сервера или клиента), вам нужно использовать данные формы из функции onApprove. Проще всего было бы вызвать отправку формы с помощью JS, однако это плохо, поскольку вы можете получить завершенные платежи, не получив и не обработав правильно информацию.
Лучшее решение - сериализовать данные формы в объект JSON (используя JS) и включить его в body запрос на получение заказа. Таким образом, когда захват будет успешным, эта функция сможет немедленно добавить переданные данные в ваше хранилище данных, используя функции django.