Flávia,
Grato pelas explicações. Foi bem elucidativa.
Acho que no meu caso, é melhor msm o FormView, pois não tenho uma relação direta entre o model e o form.
Por exemplo, tenho um campo user, que registra o usuário em sessão e não aparece no form (embora essa possa ser excluído com exclude) e outro campo horário que é um DateField, mas para o form tenho um campo Date e outro Time para o usuário preencher e depois transformo os dois em um DateTime para armazenamento.
Na verdade, achei para prático um forms.Form personalizado, mas vou tentar com forms.ModelForm só para experiência.
O erro era esse então, pois não passava o ModelForm.
Quanto ao url está assim:
+ projeto
+ projeto
+ urls.py
- urlpatterns = patterns('',
....
url(r'^', include('app.urls')),
...
- urlpatterns = patterns('app.views',
....
url(r'^$', Home.as_view(), name='home'),
...
+ views.py
- class CreatePerson(FormView):
template_name = 'person.html'
form_class = PersonForm
#success_url = reverse_lazy('home') - Dá erro com reverse() tb
def get_success_url(self):
return reverse('home') # Funciona
É isso.
Abs,