usar forma crocante com ModelForm

Eu estive correndo emforma crocante, e parece fazer exatamente o que eu quero: renderizar formulários com layout de bootstrap.

Agora, o exemplo fala sobre o usoforms.Form. Tudo bem, eu posso criar o meu escrevendo o código assim:

class TemplateCreateForm(forms.Form):
    title = forms.CharField(label=(u'Task name'))
    description = forms.CharField(label=(u'Task description'))
    url_start = forms.CharField(label=(u'Start page url'))
    url_end = forms.CharField(label=(u'Final page url'))

    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.form_method = 'post'
        self.helper.add_input(Submit('submit', 'Submit'))
        super(TemplateCreateForm, self).__init__(*args, **kwargs)

Mas, como fazer a atualização? porque se eu colocar isso na visão:

    form = TemplateCreateForm(request.POST or None, instance=template)

não funciona porqueinstância é apenas para ModelForm.

Agora, posso substituir oforms.Form comModelForm e usar forma crocante para ModelForm? eu fiz isso

class TemplateCreateForm(ModelForm):
    title = forms.CharField(label=(u'Task name'))
    description = forms.CharField(label=(u'Task description'))
    url_start = forms.CharField(label=(u'Start page url'))
    url_end = forms.CharField(label=(u'Final page url'))

    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.form_method = 'post'
        self.helper.add_input(Submit('submit', 'Submit'))
        super(TemplateCreateForm, self).__init__(*args, **kwargs)

    class Meta:
        model = Template
        exclude = ('user')

Aqui eu adicionei a classe Meta. Agora: funciona, mas é correto usá-lo assim? A atualização também funciona dessa maneira.

Qual é a maneira correta de usar formulários para fazer a atualização?

questionAnswers(1)

yourAnswerToTheQuestion