, поэтому я хочу создать динамическое число форм в зависимости от переменной.
Вот мой forms.py
class CTestform(forms.Form):
def __init__(self, c_test_tokens, *args, **kwargs):
super(CTestform, self).__init__(*args, **kwargs)
wordsbeforegap = ''
iteratorforgaps = 0
for i in (0, len(c_test_tokens)-1):
if '#GAP#' not in c_test_tokens[i]:
wordsbeforegap = wordsbeforegap + c_test_tokens[i]
else:
self.fields[iteratorforgaps] = forms.CharField(widget=forms.TextInput(attrs={'size': '5'}),
required=False, label=wordsbeforegap, label_suffix='')
wordsbeforegap = ''
iteratorforgaps += 1
Вот мой views.py, где я вызываю CTestform дляrender:
def ctest(request):
# this function is not really important for the question
# c_test_tokens = list of chars
c_test_tokens, gaps, tokenindexe = generate_c_test(exampletext())
form = CTestform(c_test_tokens=c_test_tokens)
return render(request, 'ctest.html', {'form': form})
Я думал, что созданные формы будут в self.fields, поэтому для печати форм на моем веб-сайте у меня есть в моем шаблоне это:
<div class="ctest">
{% for forms in form.fields %}
{{ forms }}
{% endfor %}
</div>
НоСайт пуст, и никакие формы не отображаются.В чем может быть проблема?