quarta-feira, abril 04, 2012

Django 1.4 - FormView

Hoje vamos descrever o uso de um FormView:

FormView

Uma FormView é responsável por renderizar o Form associado à um template, validar-lo após ser submetido e redirecionar o aplicativo para outra URL.

Para utilizar o FormView, basta realizar as seguinte implementação:

#urls.py
from django.conf import settings
from django.conf.urls.defaults import patterns, include, url
from django.views.generic import FormView, TemplateView
from home.forms import FormWidgets

urlpatterns = patterns('',
                       
    url(r"^formview/$", FormView.as_view(form_class = FormWidgets, \
                                        template_name = "render_form.html", \
                                        success_url = "success"), \
                                        name="custom_widgets.form"),
                       
    url(r"^formview/success/$", TemplateView.as_view(template_name = "success.html")),
)
A FormView instancia uma variável chamada form que armazena o Form indicado pelo atributo form_class. Abaixo demonstro um Template simples que pode ser utilizado em conjunto com uma FormView.


<form method="post"/> {% csrf_token %} {{ form.as_p }} <input type="submit" value="Submit" /> </form>

Esta View além do redirecionamento não realiza nenhuma ação após o formulário ser submetido. O que, a primeira vista pode parecer inútil, mas não é.

Um exemplo de uso seria utilizá-la para validar o Form através de uma requisição AJAX e utilizar o redirecionamento como confirmação no Javascript.

Por hoje é isso!

Nenhum comentário:

Postar um comentário