Personally, I use one view to process each form of POST.
Alternatively, you can use a hidden input element that indicates which form was used.
<form action="/blog/" method="POST">
{{ blog_form.as_p }}
<input type="hidden" name="form-type" value"blog-form" />
<input type="submit" value="Submit" />
</form>
...
<form action="/blog/" method="POST">
{{ micro_form.as_p }}
<input type="hidden" name="form-type" value"micro-form" />
<input type="submit" value="Submit" />
</form>
With a view such as:
def blog(request):
if request.method == 'POST':
if request.POST['form-type'] == u"blog-form":
form = BlogForm(request.POST)
...
else:
form = MicroForm(request.POST)
...
return render_to_response('blog.html', {
'blog_form': BlogForm(),
'micro_form': MicroForm(),
})
... , , ( POST) , .