defproduct_create_view(request):my_form=RawProductForm()ifrequest.method=="POST":my_form=RawProductForm(request.POST)ifmy_form.is_valid():#now the data is good
print(my_form.cleaned_data)Product.objects.create(**my_form.cleaned_data)else:print(my_form.errors)context={"form":my_form}returnrender(request,"products/product_create.html",context)
classProductForm(forms.ModelForm):title=forms.CharField(label='',widget=forms.TextInput(attrs={"placeholder":"Your title"}))email=forms.EmailField()description=forms.CharField(required=False,widget=forms.Textarea(attrs={"placeholder":"Your description","class":"new-class-name two","id":"my-id-for-textarea","rows":20,"cols":120,}))price=forms.DecimalField(initial=199.99)classMeta:model=Productfields=['title','description','price',]defclean_title(self,*args,**kwargs):title=self.cleaned_data.get("title")ifnot"Sung"intitle:raiseforms.ValidationError("This is not a valid title")ifnot"Yerim"intitle:raiseforms.ValidationError("This is not a valid title")returntitledefclean_email(self,*args,**kwargs):email=self.cleaned_data.get("email")ifnotemail.endswith("edu"):raiseforms.ValidationError("This is not a valid email")returnemail