formwizard

Showing 1-1 of 1 messages
formwizard koblitz 7/27/12 3:44 PM
Buenos,
testando o exemplo oficial do formwizard encontrei dificuldades em renderizar no template.

a view da documentação oficial:
class ContactWizard(SessionWizardView):
    def done(self, form_list, **kwargs):
        return render_to_response('done.html', {
            'form_data': [form.cleaned_data for form in form_list],
        })

com essa view não consigo 'mostrar' os dados no template.
tentei algo como:
{{ form_data.nome }}
{{ form_data['nome'] }}
ou mesmo:
{% for i in form_data %}
{{ i }}
ou {{ i.nome }}

nada disso ou variações funcionaram.

Só tive sucesso quando fiz um mix com esse post da versão 1.0:

minha view ficou:


class ContactWizard(SessionWizardView):


    def done(self, form_list, **kwargs):

        form_data={}

        for form in form_list:

            for field,value in form.cleaned_data.iteritems():

                form_data[field]=value

        return render_to_response('agradecimento.html', {

            'form_data': form_data,

        })


Creio que seja um problema de renderizar form no template, e acho que isso se dá por renderizar um dict e não uma lista. Bom fiquei na dúvida de como renderizar uma tupla no template quando o form é um wizard.


Outra observação no exemplo do FormWizard é o get_form.

quando tento fazer o exemplo encontro:

>>> initial

{'1': {'email': 'd@com', 'nome': 'f'}, '0': {'mensagem': 'fffff', 'assunto': 'ff'}}

>>> wiz=ContactWizard.as_view([Mensagem, Pessoa], initial_dict=initial)

>>> form1 = wiz.get_form('0')

Traceback (most recent call last):

  File "<console>", line 1, in <module>

AttributeError: 'function' object has no attribute 'get_form'


Não encontrei nada no stackoverflow ou outro lugar...
se alguém quiser dialogar a respeito...

abs,
Koblitz