Как я могу использовать данные из формы django в другом представлении
Я интегрирую mpesa api в мой проект django и мне нужно передавать номер телефона динамически, поэтому я создал форму, которая запрашивает номер телефона пользователя, который я хочу, чтобы введенные данные передавались в представление mpesa credentials. Ниже представлено представление для формы:
def mpesaNumber(request):
if request.method == 'POST':
form = phoneNumber(request.POST, request.FILES)
if form.is_valid():
phone =form.cleaned_data.get('phone_number')
PhoneNumber.objects.get_or_create(phone_number=phone)
return redirect('make_payment')
else:
form = phoneNumber()
context = {"form":form}
return render(request, 'users/phoneNumber.html', context)
Ниже представлен обзор mpesa
def lipa_na_mpesa_online(request):
data = cartData(request)
order = data['order']
access_token = MpesaAccessToken.validated_mpesa_access_token
api_url = "https://sandbox.safaricom.co.ke/mpesa/stkpush/v1/processrequest"
headers = {"Authorization": "Bearer %s" % access_token}
request = {
"BusinessShortCode": LipanaMpesaPpassword.Business_short_code,
"Password": LipanaMpesaPpassword.decode_password,
"Timestamp": LipanaMpesaPpassword.lipa_time,
"TransactionType": "CustomerPayBillOnline",
"Amount": float(order.cart_totals),
"PartyA": phone_number, # replace with your phone number to get stk push
"PartyB": LipanaMpesaPpassword.Business_short_code,
"PhoneNumber": phone_number, # replace with your phone number to get stk push
"CallBackURL": "https://sandbox.safaricom.co.ke/mpesa/",
"AccountReference": "Victor",
"TransactionDesc": "Testing stk push"
}
response = requests.post(api_url, json=request, headers=headers)
return HttpResponse('success')
Ниже представлен шаблон формы с номером телефона
{% extends "store/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div class="mt-4">
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ form|crispy }}
<button type="submit" class="btn btn-success">Submit</button>
</form>
</div>
{% endblock %}
и моя форма в файле forms.py
class phoneNumber(forms.ModelForm):
class Meta:
model = PhoneNumber
fields = ['phone_number']
Как я могу получить данные, введенные в форму динамически и передать их в mpesa view в секции phone_number. Спасибо.