python - django custom validation not showing up on button click -


i wrote custom validation form in forms.py it's not working. doesn't show ("email not exist"), when press submit button looks refreshing page. appreciate help.

here view.py:

def delete(request):     if request.method == 'post' , "deletebutton" in request.post:         form = loginpagedelete(request.post)         if form.is_valid():             deletedata = form.cleaned_data             q = deletedata["emaild"]             query = users.objects.get(email = q )             query.delete()             fetch = users.objects.all()             return render(request,'result.html',{'querydelete':fetch.values(),})      formdelete = loginpagedelete()     return render(request,'delete.html',{"formdelete":formdelete,}) 

here template:

<html> <head>     <title>delete</title> </head> <body>     {% if formdelete.errors  %}     <p style="color:red">please correct problems</p>     123     {%endif%}      <form action="" method="post">         <table>             {{formdelete.as_table}}         </table>         {%csrf_token%}         <input type="submit" value="delete" name="deletebutton">     </form> </body> 

here forms.py:

from django import forms login.models import users  class loginpagedelete(forms.form):     emaild = forms.emailfield(required=true)      def clean_emaild(self):         email = self.cleaned_data['emaild']         if not users.objects.filter(email = email).exists():             raise forms.validationerror("email not exist")         return email 

you not returning validated form template. everytime in view, return new instance of loginpagedelete() instead , discard 1 validation information.

def delete(request):     if request.method == 'post' , "deletebutton" in request.post:         form = loginpagedelete(request.post)         if form.is_valid():             deletedata = form.cleaned_data             q = deletedata["emaild"]             query = users.objects.get(email = q )             query.delete()             fetch = users.objects.all()             return render(request,'result.html',{'querydelete':fetch.values(),})     else:# here request.method         form = loginpagedelete()      return render(request,'delete.html',{"formdelete":form}) 

Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -