Для анкеты я хочу представить пользователю последовательность форм.Я хотел бы оставить представление универсальным, чтобы оно могло представлять любой экземпляр формы в последовательности.
В настоящее время я храню список объектов формы (не экземпляров) и создаю экземпляр каждой формыкак это нужно представить.(например, formobject = formslist[3]; form = formobject();
).
Есть ли более питонный способ сделать это?Я рассмотрел использование функции getnext
в определении каждой формы, но мне все еще нужно место для перечисления последовательности форм, которые я хочу сгенерировать.
Следующим шагом будет введение некоторого пропуска-Логический, поэтому жесткая последовательность форм не идеальна.
Может быть, это поможет.Это то, что я имею в виду, используя функцию getnext
.Он работает от первой формы ко второй, но затем не служит третьей форме:
def showform(request):
if 'formobj' not in locals():
formobj = StartForm
if request.method == 'POST': # If the form has been submitted...
form = formobj(request.POST)
if form.is_valid():
try:
form.save()
except:
pass
cd = form.cleaned_data
formobj = form.get_next()
form = formobj()
if formobj == 'done':
render_to_response('doneform.html', context_instance=RequestContext(request))
else:
form = formobj()
else:
form = formobj()
return render_to_response('template.html', {'form': form, 'requestpath': request.get_full_path()}, context_instance=RequestContext(request))