মডেলকে অ্যাডমিন প্যানেলে যোগ করি

মডেলকে অ্যাডমিন প্যানেল এ যুক্ত করা

মডেলকে Django এডমিন প্যানেলে যোগ করা খুবই সহজ । নিম্নলিখিত মাধ্যমে আপনি মডেলটি আপনার Django প্রোজেক্টে এডমিন প্যানেলে সংযুক্ত করতে পারেন:

প্রথমত, মডেল ডেফিনিশন:

আমরা মডেল ডেফিনিশন থেকে শুরু করব। মডেল ডেফিনিশন দিচ্ছি:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)


মডেল অ্যাডমিন:

এখন আমরা মডেলটি এডমিন প্যানেলে যোগ করার জন্য এডমিন ক্লাস তৈরি করব।

from django.contrib import admin
from .models import Post

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'pub_date')
    search_fields = ('title', 'author__name')  # Assuming Author model has a 'name' field
    list_filter = ('author',)
    ordering = ('-pub_date',)
    readonly_fields = ('pub_date',)
    

list_display (তালিকা_প্রদর্শন): এটি ডিজাঙ্গো এডমিন তালিকা দৃশ্যতা নির্ধারণ করে, এই ফিল্ডগুলি তালিকা ভিউতে প্রদর্শিত হবে।

search_fields (সার্চ_ক্ষেত্র): এটি ডিজাঙ্গো এডমিন তালিকা ভিউতে সার্চ বক্স যুক্ত করে, যার মাধ্যমে আপনি ডেটা সার্চ করতে পারবেন।

list_filter (তালিকা_ফিল্টার): এটি ডিজাঙ্গো এডমিন তালিকা ভিউতে ফিল্টার অপশন যুক্ত করে, যার মাধ্যমে আপনি ডেটা ফিল্টার করতে পারবেন।

ordering (সাজানো): এটি ডিজাঙ্গো এডমিন তালিকা ভিউে ডেটা সাজানোর ডিফল্ট আদান-প্রদান নির্ধারণ করে।

readonly_fields দেয়ার কারণে অ্যাডমিন প্যানেল এ সেভ করার সময় কোন ইনপুট ফিল্ড শো করবে না।

prepopulated_fields

prepopulated_fields বলতে বুঝি কোন একটা ফিল্ড ইনপুট দিলে অন্য একটি ফিল্ড ওই ইনপুট ধারণ করা আরো সহজ ভাবে বললে মনে করি আমাদের একটি ব্লগ app আছে যার একটি title ও slug নামে ফিল্ড আছে আমরা চাচ্ছি title এ যা লিখবো তা slug এ prepopulated হয়ে বসে যাবে এটা করার জন্য admin.py তে modelAdmin ক্লাস এ নিচের মত লিখতে হয় মনে করি আমাদের মডেল এর নাম POST

#models.py
class Post(models.Model):
    title = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(max_length=200, unique=True)
#admin.py
from .models import  Post
class PostAdmin(admin.ModelAdmin):

    prepopulated_fields = {'slug': ('title',)}

admin.site.register(Post,PostAdmin)

অ্যাডমিন প্যানেলে মডেলকে আরো বিভিন্ন ফিচার দেয়ার টিউটোরিয়াল অ্যাডমিন টিউটোরিয়ালে দেয়া আছে

Last updated