CRUD OPERATION in DJANGO , Insert, update, delete and select record from database

2



CRUD means Create, read, update and delete, in this article we will perform database operation to insert a record, update a record, delete record, and show record from the database.


Step 1st manage class on  models.py and write Code on Models.py



from django.db import models
class Contact(models.Model):
   emailid= models.CharField(max_length=100)
   mobile= models.CharField(max_length=12)
   message= models.CharField(max_length=200)
   def __str__(self):
       return self.emailid +" "+self.mobile +" "+self.message


step2nd:  Code of Views.py for insertion, update, deletion, and selection

from django.shortcuts import render,redirect
from django.http import HttpResponse
from .models import Contact




def contact(request):        #load contact us page
return render(request,"scsapp/contact.html")


def viewcontact(request):    # code of data selection from contact table
    s=Contact.objects.all()    # sql query  select * from contact
    return render(request,"scsapp/viewcontact.html",{'res':s})


def Editcontact(request):      # code to find record from contact table
    s = Contact.objects.get(pk=request.GET["q"])    # sql select * from contact where id=?
    return render(request,"scsapp/editcontact.html",{'res':s})



def edit(request):            #code to update record from database to contact table
    e=request.POST["txtemail"]
    m=request.POST["txtmobile"]
    msg=request.POST["txtmsg"]
    s = Contact.objects.get(pk=request.POST["txtid"])
    s.emailid=e
    s.mobile=m
    s.message=msg
    s.save()
    return redirect('viewcontact')


def Deletecontact(request):    # code to find record for delete operation
    s = Contact.objects.get(pk=request.GET["q"])
    s.delete()
    return redirect('viewcontact')


def contactcode(request):        #code to insert record from database
    e=request.POST["txtemail"]
    m=request.POST["txtmobile"]
    msg=request.POST["txtmsg"]
    obj = Contact(emailid=e,mobile=m,message=msg)
    obj.save()
    return redirect('viewcontact')
   # return render(request,"scsapp/contact.html",{'res':'data submitted successfully'})



step3rd:- Code of Contact.html for Data Insertion Template

<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="/static/style.css">
</head>
<body>
<header><h1>Welcome in FeedBack System Application</h1>
 <hr>

<ul><li><a href="home">Home</a></li><li><a href="about">About</a></li><li><a href="contact">Contact us</a></li><li><a href="service">Service</a></li><li><a href="gallery">Gallary</a></li></ul>
</header>
<section>
<center>
<h1>Welcome in Contact us page</h1>
<form action="contactcode" method="post">
{% csrf_token %}
<input type="email" name="txtemail" placeholder="Enter email" required="">
<br><br>
<input type="number" name="txtmobile" placeholder="Enter mobile" required="">
<br>
<br>
            <textarea rows="10" cols="20" name="txtmsg" placeholder="Enter message" required=""></textarea>
            <br>
            <br>
            <input type="submit" name="btnsubmit" value="Submit" />
        </form>
        {{res}}
        </center>
         <a href="viewcontact">View Contact</a>
</section>
<footer></footer>

</body>
</html>

Step 4th:- viewcontact.html

<h1>View Contact Here</h1>
<table border="1">
<tr><th>EmailID</th><th>Mobileno</th><th>Message</th></tr>
 {% for q in res %}
     <tr>  <td>{{ q.emailid }} </td><td> {{ q.mobile }} </td><td> {{ q.message }}</td><td><a href="Editcontact?q={{ q.id }}"> EDIT</a></td><td><a href="Deletecontact?q={{ q.id }}">DELETE</a></td></tr>
 {% endfor %}

</table>

Step 5th editcontact.html

<p>Edit Record Here</p>
<form action="edit" method="post">
{% csrf_token %}
<input type="hidden" name="txtid" value="{{res.id}}">
<input type="email" name="txtemail" placeholder="Enter email" required="" value="{{res.emailid}}">
<br><br>
<input type="number" name="txtmobile" placeholder="Enter mobile" value="{{res.mobile}}">
<br>
<br>
            <textarea rows="10" cols="20" name="txtmsg" placeholder="Enter message" >{{res.message}}</textarea>
            <br>
            <br>
            <input type="submit" name="btnsubmit" value="Update" />
</form>









Post a Comment

2Comments

POST Answer of Questions and ASK to Doubt

  1. models.py
    from django.db import models

    class Contact(models.Model):
    email_id=models.CharField(max_length=100)
    mobile=models.IntegerField()
    message=models.CharField(max_length=200)
    def __str__(self):
    return "email_id"+str(self.email_id)+"mobile"+str(self.mobile)+"message"+str(self.message)
    # Create your models here.
    views.py
    from django.shortcuts import render,redirect
    from django.http import HttpResponse
    from .models import Contact


    def viewcontact(request):
    res=Contact.objects.all()
    return render(request,"crudoperation/viewcontact.html",{'data':res})



    def editrec(request):
    if request.method=="POST":
    e=request.POST["txtemail_id"]
    m=request.POST["txtmobile"]
    msg=request.POST["txtmessage"]
    s=Contact.objects.get(pk=request.POST["txtid"])
    s.email_id=e
    s.mobile=m
    s.message=msg
    s.save()
    return redirect("viewcontact")
    else:
    res=Contact.objects.get(pk=request.GET["q"])
    return render(request,"crudoperation/editrec.html",{'data':res})

    def insertrec(request):
    if request.method=="POST":
    e=request.POST["txtemail_id"]
    m=request.POST["txtmobile"]
    msg=request.POST["txtmessage"]
    obj=Contact(email_id=e,mobile=m,message=msg)
    obj.save()
    return redirect("viewcontact")
    else:
    return render(request,"crudoperation/insertrec.html")
    return render(request,"crudoperation/insertrec.html",{'res':'data inserted sucessfully'})



    def deleterec(request):
    s=Contact.objects.get(pk=request.GET["q"])
    s.delete()
    return redirect('viewcontact')
    # Create your views here.
    urls.py
    from django.urls import path
    from . import views

    urlpatterns=[

    path('',views.viewcontact,name="viewcontact"),
    path('editrec',views.editrec,name="editrec"),
    path('deleterec',views.deleterec,name='deleterec'),
    path('insertrec',views.insertrec,name='insertrec'),



    ]

    ReplyDelete
Post a Comment