Получение данных из HTML-формы Django и передача их в базу данных MySQL

У меня есть база данных с несколькими именами пользователей и номерами телефонов, прикрепленными к каждому пользователю. В созданном мной шаблоне Django пользователю представляется список имен, он может нажать на имя или несколько имен, и база данных должна ответить номером телефона, присвоенным этому имени. Однако я использую цикл for в шаблоне Django для итерации имен в базе данных для отображения пользователю, поскольку количество имен может меняться. Он работает правильно, когда я выбираю одно имя, однако, если я выбираю несколько имен, он берет последнее выбранное имя, а не отображает все имена. Эта ошибка связана с моим решением цикла for, в котором всем входам присваивается одно и то же "имя". У кого-нибудь есть идея, как я могу решить эту проблему?

Моя форма представления:

def select_contact(request):
    alldata = identity_log.objects.values_list("first_name", flat=True)
    #https://docs.djangoproject.com/en/4.0/ref/models/querysets/
    checkform = contact_form(request.POST or None)
    context = {'alldata': alldata}
    print(checkform)
    display_type = request.POST.get("contact_option", None)
    if display_type in alldata:
        print(display_type)
    return render(request, 'message_me/select_contact.html', context)

Мой шаблон:

{% extends "base.html" %}
{% load static %}


{% block body %}
<p>Please select your favorite Web language:</p>
{% for x in alldata %}
  <form id="contact_option" role="form" action="" method="POST">
    {% csrf_token %}
    <input type="checkbox" id="contact_option" name="contact_option" value="{{x}}">
  <label for="contact_option">{{x}}</label><br>
{% endfor %}
    <div class="row">
        <div class="col-md-12"> <input type="submit" name="submit" class="btn btn-success btn-send pt-2 btn-block " value="Continue"> </div>
    </div>
</form>

{% endblock %}

изображение HTML-документа

Заменить :

 <input type="checkbox" id="contact_option" name="contact_option" value="{{x}}">

с

 <input type="checkbox" id="contact_option{{x}}" name="contact_option{{x}}" value="{{x}}">

Теперь у вас есть уникальный идентификатор для каждого пользователя.

Вернуться на верх