Как я могу использовать представление на основе функций для выполнения операций в объекте с модалом?
Я создаю сайт со списком кандидатов, где сотрудники могут повышать оценку кандидатов, нажимая на кнопку проверки.
Я хотел бы увеличить значение оценки, когда я нажимаю на подтверждение в модале. Это работает, потому что я вижу в панели администратора, что оценка кандидата была увеличена, но это не перенаправляет меня в список кандидатов, который был раньше.
Как я могу сделать перенаправление на список кандидатов, который был раньше?
Вот шаблон, отображающий список кандидатов, и скрипт, отображающий модал :
<table id="students-table" class="table">
<thead>
</thead>
<tbody>
{% for student in student_list %}
<tr>
<td>
<button type="button" class="validate-student bs-modal btn btn-sm btn-primary"
data-form-url="{% url 'students:validate_grade' student.pk %}">
<span class="fa fa-eye"></span>
</button>
</td>
</tr>
{% endfor %}
</tbody>
<script type="text/javascript">
$(function () {
$(".validate-student").each(function () {
$(this).modalForm({ formURL: $(this).data("form-url")});
});
});
Вот модальный :
{% load widget_tweaks %}
<form method="POST" action="">
{% csrf_token %}
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel"><strong>{{ student.user.firstname }} {{ student.user.lastname
}}</strong></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p>Are you sure to validate this candidate ? ?
</p>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-success">Validate</button>
</div>
Вот вид :
def validate_grade(request, pk):
context ={}
obj = get_object_or_404(Student, id = pk)
if request.method =="POST":
obj.grade_registration += 1
obj.save()
return HttpResponseRedirect(reverse('list_student', args=[1945]))
return render(request, "students/validate_student.html", context)
вам придется снова отобразить страницу после голосования
def validate_grade(request, pk):
context ={}
obj = get_object_or_404(Student, id = pk)
if request.method =="POST":
obj.grade_registration += 1
obj.save()
return render(request, "students/validate_student.html", context)