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>
Very Informative
ReplyDeletemodels.py
ReplyDeletefrom 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'),
]