如何为Django表单集创建不同的标签?我在用表单Charfield创建的html页面上有输入字段,并且每次输入字段的数量根据我的列表而不同。我想每次显示输入内容时都使用不同的标签或标题吗?
edit_files.html
{
% block content %}
<form action="." method="POST">{% csrf_token %}
{{ form.management_form }}
{% for each_f in form %}
<br/>{{ each_f.as_p }} {{ 1|add:1}}
{% endfor %}
<input type="submit" value="Save" name="lines" />
</form>
{% endblock %}
forms.py
from django import forms
from .models import DocFile
class DocumentForm(forms.ModelForm):
class Meta:
model = DocFile
fields = ('description','document')
class RawProductionForm(forms.Form):
title_forms = forms.CharField(label='')
views.py
def edit_files(request, file_id):
instance = get_object_or_404(DocFile, id=file_id) # finding variables in the doc
exact_file = Document(instance.document)
variables = []
for paragraph in exact_file.paragraphs:
match = re.findall(r"\{(.*?)\}", paragraph.text)
variables.append(match)
for table in exact_file.tables:
for row in table.rows:
for cell in row.cells:
match = re.findall(r"\{(.*?)\}", cell.text)
variables.append(match)
exact_file.save('green.pdf')
temporary_list = [] # as with a Paragraph code we get lists of list , and have multiple little lists we get rid of empty lists
for i in variables:
for j in i :
if len(j) > 0:
temporary_list.append(j)
variables = temporary_list
inputs_amount = len(variables) #getting length of list for Formsets amount
print(variables)
my_form = formset_factory(RawProductionForm, extra=inputs_amount, ) #creating forms
inputs_list = [] # getting data out of inputs and filling in a list
if request.method== "POST":
my_form = my_form(request.POST)
if my_form.is_valid():
for i in my_form.cleaned_data:
inputs_list.append(i.get('title_forms'))
print(inputs_list)
else:
print(my_form.errors)
context = {
"form": my_form
}
return render(request, 'edit_files.html', {'variables': variables, "form": my_form })