DeleteView হল জ্যাঙ্গোর একটি ভিউ যা ফ্রন্টএন্ড থেকে যেকোনো মডেলের ডেটা মুছে ফেলতে ব্যবহৃত হয়। এটি একটি অন্তর্নির্মিত দৃশ্য যা সহজেই প্রয়োগ করা যেতে পারে। এটি ভিউ ডিলিট করার ক্ষেত্রে অ্যাডমিন পেজের মতো কাজ করে। এটি বাস্তব-বিশ্বের প্রকল্পগুলিতে সত্যিই সহায়ক৷
৷প্রথমত, একটি জ্যাঙ্গো প্রকল্প এবং একটি অ্যাপ তৈরি করুন। আমি "টিউটোরিয়াল11" নামে প্রকল্পটি তৈরি করেছি এবং "modelFormsDemo" নামের অ্যাপ .
এখন, কিছু মৌলিক জিনিস করা যাক. settings.py-এ অ্যাপটি যোগ করুন −
INSTALLED_APPS+ = ['modelFormsDemo']
প্রকল্পের urls.py-এ −
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('', include('modelFormsDemo.urls')) ]
এখানে আমরা অ্যাপের ইউআরএল অন্তর্ভুক্ত করেছি।
অ্যাপের urls.py-এ −
from django.urls import path,include from . import views urlpatterns = [ path('', views.home,name="home"), path('student/delete//', views.StudentDeleteView. as_view(),name="delete"), path('success/',views.success,name='success') ]
এখানে আমরা 3টি URL তৈরি করেছি:একটি ফ্রন্টএন্ড রেন্ডার করার জন্য, মুছে ফেলার জন্য DeleteView এবং মুছে ফেলার পরে পুনঃনির্দেশ করার জন্য সাফল্য৷
উদাহরণ
models.py-এ , এটি যোগ করুন -
from django.db import models # Create your models here. class Student(models.Model): name=models.CharField(max_length=100) standard=models.CharField(max_length=100) section=models.CharField(max_length=100)
এখানে আমরা একটি সাধারণ মডেল তৈরি করেছি৷
৷views.py-এ , নিম্নলিখিত যোগ করুন −
from django.shortcuts import render from .forms import StudentForm from django.views.generic.edit import DeleteView from .models import Student from django.urls import reverse_lazy # Create your views here. def home(request): if request.method=='POST': form=StudentForm(request.POST) if form.is_valid(): form.save() stuForm=StudentForm() return render(request,'home.html',{"stu_form":stuForm}) class StudentDeleteView(DeleteView): model=Student template_name='delete_view.html' success_url=reverse_lazy("success")
এখানে, হোম ভিউতে, আমরা ফ্রন্টএন্ড রেন্ডার করেছি এবং DeleteView-এ আমরা delete_view.html রেন্ডার করেছি। যা নিশ্চিতকরণ মুছে ফেলার জন্য জিজ্ঞাসা করবে৷
forms.py তৈরি করুন অ্যাপ ডিরেক্টরিতে এবং এটি লিখুন -
from django import forms from .models import Student class StudentForm(forms.ModelForm): class Meta: model=Student fields=['name', 'standard', 'section']
এখানে আমরা আমাদের সাধারণ ফর্ম তৈরি করেছি যা আমরা হোম ভিউতে রেন্ডার করব৷
এখন একটি টেমপ্লেট তৈরি করুন ফোল্ডার এবং এর ভিতরে তিনটি ফাইল যোগ করুন home.html, delete_view.html এবং success.html।
home.html-এ −
<!DOCTYPE html> <html> <head> <title>TUT</title> </head> <body> {% for fm in stu_form %} <form method="post"> {%csrf_token%} {{fm.errors}}<br> {{fm.label}}:{{fm}}<br> {%endfor%} <button type="submit">Submit</button> </form> </body> </html>
delete_view-এ .html −
<!DOCTYPE html> <html> <head> <title>TUT</title> </head> <body> <form method="post">{% csrf_token %} <p>Are you sure you want to delete "{{ object }}"?</p> <input type="submit" value="Confirm"> </form> </body> </html>
success.html-এ −
<!DOCTYPE html> <html> <head> <title>TUT</title> </head> <body> <h2>Success</h2> </body> </html>
তিনটিই HTML ফাইল যা আমরা রেন্ডার করছি। home.html ছাত্র যোগ করার জন্য, delete_view.html ছাত্র মুছে ফেলার জন্য, এবং success.html পুনঃনির্দেশ করার জন্য।
এখন আপনি আউটপুট চেক করতে এগিয়ে যেতে পারেন।
আউটপুট
Home.html −
আপনি যদি https://127.0.0.1:8000/student/delete/(student object id)/ এ যান, তাহলে আপনি আমাদের delete_view.html দেখতে পাবেন
Delete_view.html −