+class ProductForm(forms.Form):
+ name = forms.CharField(label='Your name', max_length=40)
+
+
+ Para usar o name:
+ +
+def get_product(request, product_id):
+ if request.method == 'POST':
+ form = ProductForm(request)
+ if form.is_valid():
+ record = Product(name=form.cleaned_data['name'])
+ record.save()
+
+ return render(request,
+ 'product_info.html',
+ {'form': form})
+
+ cleaned_data
é usado porque os campos podem ser alterados
+ para evitar problemas dentro do sistema.
Regras de "limpeza" estão definidas dentro dos FormFields.
+ +
+f = forms.CharField()
+f.clean(True)
+'True'
+
+ Em caso de erro, isso é indicado no form, para cada + campo e um dicionario global com essa + informação:
+ +
+form = ProductForm({'name': 'nome muito grande, com mais de 40 caracteres, o que é inválido'})
+f['name'].errors # [u'Too many characters']
+
+f.errors # {'name': [u'Too many characters']}
+
+