Я застрял в своем коде. Нужна помощь.Изменение идентификатора формы django in for loop
Это мой передний конец. Я обрабатываю формы, хранящиеся в «form_list». Проблема заключается в том, что сохраненные формы имеют одинаковый тип и, таким образом, создают поля ввода с одинаковым «id» и одним и тем же «именем».
Это мое мнение: -
@login_required
def VideoLinkView(request):
"""view to save the video links """
current_form_list = []
current_form = None
if request.method == 'GET':
vl = VideoLink.objects.filter(company=CompanyModel.objects.get(owner=request.user))
for link in vl:
current_form = VideoLinkForm(link.__dict__)
current_form_list.append(current_form)
return render(request, "premium/video_link.html", context={'form_list':current_form_list})
Это мой HTML шаблон: -
{% for form in form_list %}
<div class="form-group">
<label for="id_video_link">Video Link:</label>
{{ form.video_link }}
</div>
{% endfor %}
Как я могу создавать различные "ID" и разные "имя" в каждой итерации цикла For-х тег ввода, автоматически, без знания формы, хранящейся в form_list. Я пробовал {{forloop.counter}}, это не сработало, возможно, я допустил некоторую ошибку. Кроме того, raw python не работает в шаблоне.
Спасибо заранее.
Как же вы пытаетесь forloop.counter: Попробуйте https://gist.github.com/vi3k6i5/764da92b65201b2706a9e6c31b63e850 –
вы можете изменить значение по умолчанию genrated 'id' для каждого экземпляра с помощью' auto_id' аргумент в Конструктор форм –
Я не думаю, что вы можете сделать это, не изменяя способ создания form_list. Правильный способ заключается в использовании 'prefix' при создании экземпляров форм –