কম্পিউটার টিউটোরিয়াল

ডজ্যাঙ্গোতে DeleteView যোগ করা

DeleteView ডজ্যাঙ্গোতে একটি ভিউ যা ফ্রন্টএন্ড থেকে যেকোনো মডেল ডেটা ডিলিট করতে ব্যবহৃত হয়। এটি একটি বিল্ট-ইন ভিউ যা সহজে প্রয়োগ করা যায়। এটি অ্যাডমিন পেজের মতো ডিলিট ভিউয়ে কাজ করে। এটি রিয়েল-ওয়ার্ল্ড প্রজেক্টে খুব সহায়ক।

প্রথমে একটি ডজ্যাঙ্গো প্রজেক্ট এবং একটি অ্যাপ তৈরি করুন। আমি প্রজেক্টের নাম দিয়েছি "tutorial11" এবং অ্যাপের নাম "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'))
]

এখানে আমরা অ্যাপের url ইনক্লুড করেছি।

অ্যাপের 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')
]

এখানে আমরা ৩টি URL তৈরি করেছি: একটি ফ্রন্টএন্ড রেন্ডার করার জন্য, ডিলিট করার জন্য DeleteView, এবং ডিলিট করার পর রিডাইরেক্ট করার জন্য Success।

উদাহরণ

models.py-তে এটি যোগ করুন:

from django.db import models

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

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")

এখানে, home ভিউতে আমরা ফ্রন্টএন্ড রেন্ডার করেছি এবং 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 ভিউতে রেন্ডার করব।

এখন একটি templates ফোল্ডার তৈরি করুন এবং সেখানে তিনটি ফাইল যোগ করুন: 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 -

ডজ্যাঙ্গোতে DeleteView যোগ করা

যদি আপনি https://127.0.0.1:8000/student/delete/(student object id)/ এ যান, তবে আপনি আমাদের delete_view.html দেখবেন।

Delete_view.html -

ডজ্যাঙ্গোতে DeleteView যোগ করা

  1. ডжанগোতে ক্লায়েন্ট-সাইড ইমেজ জুমিং ও রোটেটিং

  2. ডжанগো মডেল ইনস্ট্যান্সে অনুবাদ যোগ করা

  3. ডжанগো মডেলে JSON ফিল্ড যোগ করা

  4. Edge ব্রাউজারের ফেভরিট HTML ফাইলে ইম্পোর্ট বা এক্সপোর্ট করার পদ্ধতি