Я пытаюсь отправить несколько запросов POST, используя for-l oop в Django, но запрос POST работает нормально только для первой итерации, а для других итераций выдает ошибку 302.
На изображении ниже пользователь может утвердить проект, установив флажок, однако он работает для проекта «MealBox», и когда кто-то пытается утвердить другой проект, он не может этого сделать, и сервер выдает ошибку 302.
views.py:
@login_required
def project_approval_by_mentor(request):
faculty = FacultyInfo.objects.get(user = request.user)
group = GroupInfo.objects.filter(mentor = faculty)
my_project = []
for i in group:
approved = False
project = Project.objects.get(group =i)
my_project.append(project)
for i in group:
approved = False
project = Project.objects.get(group =i)
if request.method == "POST":
project_approval_by_mentor_form = ProjectApprovalByMentorForm(request.POST,instance = project)
if project_approval_by_mentor_form.is_valid():
is_approved_by_mentor = project_approval_by_mentor_form.cleaned_data.get('is_approved_by_mentor')
project.is_approved_by_mentor = is_approved_by_mentor
project.save()
approved = True
return redirect("")
else:
return HttpResponse("NO response")
else:
project_approval_by_mentor_form = ProjectApprovalByMentorForm(instance = project)
return render(request,'project_approval.html',{'my_project':my_project,'project_approval_by_mentor_form':project_approval_by_mentor_form})
шаблон для вышеупомянутых views.py
project_approval. html:
{% block content %}
<div align='center' class="container">
<br>
{% if user.is_authenticated and not hod%}
{% for project in my_project %}
<form class="form-group" method="post">
{% csrf_token %}
<h1>{{project.title}}</h1>
<b><i>{{project.description}}</i></b>
<br>
{% if not project_approval_by_mentor_form %}
<p>{{project_approval_by_mentor_form.as_p}}</p>
<br>
<input class=" btn btn-outline-success" type="submit" name="" value="Approve">
{% else %}
<input disabled class="btn btn-info" name="" value="Approved">
<br>
{% endif %}
</form>
{% endfor %}
{% endif %}
{% endblock %}