Моя форма автоматически отправляется в django всякий раз, когда я открываю ссылку
Я создаю вид утверждения администратора для обновления учетной записи, но он не работает так, как я ожидал. Я хотел получить форму, а затем в зависимости от данных форма либо утверждается, либо отклоняется. Я создал форму и все остальное, но форма автоматически отправляется, даже не отображаясь, вместе с этим она также получает одобрение. Помогите мне пожалуйста. Модель:
class CabbieRequest(models.Model):
user = models.ForeignKey(Passenger, on_delete=models.CASCADE)
vehicle = models.ForeignKey('Rides.Vehicle', on_delete=models.PROTECT)
requested_at = models.DateTimeField(auto_now_add=True)
is_approved = models.BooleanField(default=False)
approved_at = models.DateTimeField(null=True, blank=True)
def approve(self):
self.is_approved = True
self.approved_at = timezone.now()
Cabbie.objects.create(
username=self.user.username,
email=self.user.email,
phone=self.user.phone,
image=self.user.image,
vehicle=self.vehicle,
stars=0.0,
password=self.user.password
)
self.save()
def __str__(self):
return f'Request by: {self.user.username}'
Вид:
@login_required
def request_cabbie_upgrade(request):
if request.method == 'POST':
vehicle_form = VehicleForm(request.POST)
if vehicle_form.is_valid():
vehicle = vehicle_form.save(commit=False)
vehicle.save()
cabbie_request = CabbieRequest(user=request.user, vehicle=vehicle)
cabbie_request.save()
return redirect('PassengerDashboard')
else:
vehicle_form = VehicleForm()
return render(request, 'users/cabbie_request.html', {'vehicle_form': vehicle_form, 'cabbie': request.user})
Форма:
class CabbieRequestForm(forms.Form):
approve = forms.BooleanField(required=False)
reject = forms.BooleanField(required=False)
Шаблон:
{% extends "base.html" %}
{% load static %}
{% block title %}
<title>Manage Cabbie Request</title>
{% endblock title %}
{% block body %}
<div class="container mt-5 pt-5 manage-request-container">
<div class="row">
<div class="col-md-12">
<h2>Manage Cabbie Request</h2>
<div class="card">
<div class="card-body">
<p><strong>Username:</strong> {{ user.username }}</p>
<p><strong>First Name:</strong> {{ user.first_name }}</p>
<p><strong>Last Name:</strong> {{ user.last_name }}</p>
<p><strong>Email:</strong> {{ user.email }}</p>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" name="approve" class="btn btn-success">Approve</button>
<button type="submit" name="reject" class="btn btn-danger">Reject</button>
</form>
</div>
</div>
</div>
</div>
</div>
<style>
body {
background-color: #121212;
color: #ffffff;
}
.manage-request-container {
background-color: #222222;
color: #ffffff;
padding-top: 80px;
}
h2 {
color: #ffcc00;
}
.card {
background-color: #333333;
color: #ffffff;
}
.card-body {
padding: 20px;
}
.btn-success {
background-color: #28a745;
border-color: #28a745;
color: #ffffff;
}
.btn-danger {
background-color: #dc3545;
border-color: #dc3545;
color: #ffffff;
}
</style>
<script>
let lastScrollTop = 0;
window.addEventListener("scroll", function() {
let header = document.querySelector(".header_section");
let st = window.pageYOffset || document.documentElement.scrollTop;
if (st > lastScrollTop) {
header.style.top = "-100px";
} else {
header.style.top = "0";
}
lastScrollTop = st <= 0 ? 0 : st;
}, false);
</script>
{% endblock body %}
Я хочу сам одобрить его после проверки.