Django forms (and their non-Django counterpart, WTForms) are very easy to use, with a declarative syntax.<p>The advantage is that validation is decoupled from models. Often you need to handle validation which doesn't directly involve a single model - for example sending an email, or handling updates to a number of models. This saves you having to litter your controller/views with validation code.