Django: Можем ли мы отправить несколько запросов POST, используя для l oop in Django? - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь отправить несколько запросов POST, используя for-l oop в Django, но запрос POST работает нормально только для первой итерации, а для других итераций выдает ошибку 302.

На изображении ниже пользователь может утвердить проект, установив флажок, однако он работает для проекта «MealBox», и когда кто-то пытается утвердить другой проект, он не может этого сделать, и сервер выдает ошибку 302.

screenshot of the template

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 %} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...