Skip to content

Instantly share code, notes, and snippets.

@fabiocerqueira
Created September 20, 2012 20:50
Show Gist options
  • Save fabiocerqueira/3758287 to your computer and use it in GitHub Desktop.
Save fabiocerqueira/3758287 to your computer and use it in GitHub Desktop.
Exemplo View com forms por parâmetro
{% extends 'base.html'%}
{% block content %}
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
<form action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{% endblock %}
from django import forms
class FormA(forms.Form):
name = forms.CharField()
def save(self):
pass
class FormB(forms.Form):
email = forms.EmailField()
def save(self):
pass
from django.conf.urls import patterns, url
from views import create
from forms import FormB, FormA
urlpatterns = patterns('',
url('^form/a$', create,
kwargs={'form_class': FormA, 'success_url': 'forma'},
name='forma'),
url('^form/b$', create,
kwargs={'form_class': FormB, 'success_url': 'formb'},
name='formb'),
)
from django.shortcuts import render, redirect
from django.contrib import messages
def create(request, form_class, success_url='/'):
if request.method == 'POST':
form = form_class(request.POST)
if form.is_valid():
form.save()
messages.success(request, '%s created.' % form_class.__name__)
return redirect(success_url)
else:
form = form_class()
return render(request, 'form_template.html', {
'form': form,
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment