بروزرسانی کاربران در پنل مدیریت Django

django admin update members
20 آبان 1403

در اکثر مواقع، زمانی که از Django برای توسعه وب‌سایت‌ها استفاده می‌کنیم، نیاز داریم به کاربران یا اعضا دسترسی داشته باشیم و آنها را مدیریت کنیم. یکی از ویژگی‌های خوب Django، پنل مدیریت پیش‌فرض آن است که معاملات مختلفی مانند اضافه کردن، ویرایش و حذف کاربران را تسهیل می‌کند. در اینجا می‌خواهیم نحوه بروزرسانی یک کاربر موجود در پنل مدیریت را بررسی کنیم.

برای بروزرسانی اطلاعات کاربران در Django Admin، ابتدا باید مطمئن شویم که مدل User به درستی در admin ثبت شده است. اگر مدل از قبل وجود داشته باشد، می‌توانیم آن را سفارشی‌سازی کنیم تا فیلدهای مختلف را ویرایش کنیم. مثلاً، می‌توانیم فیلدهای اضافه‌ای به فرم ویرایش اضافه کنیم یا فیلد‌ها را بر حسب نیازمان مرتب کنیم.

برای این کار، ابتدا باید مطمئن شویم که app در فایل admin.py تعریف شده است و مدل کاربر را به سیستم معرفی کرده‌ایم. اگر مدل کاربری خاص خودمان را ساخته‌ایم، باید آن را داخل admin خودمان سفارشی کنیم. این کار باعث می‌شود بتوانیم از تمامی امکانات پنل مدیریت Django بهره‌مند شویم.

هنگامی که مدل خود را تعریف و سفارشی کرده‌ایم، می‌توانیم از طریق رابط مدیریت، کاربران را ویرایش و اطلاعات آنها را بروزرسانی کنیم. این عمل به ما کمک می‌کند تا کنترل کاملی روی اطلاعات کاربران ثبت‌شده در سیستم داشته باشیم.

در اینجا یک مثال ساده از سفارشی‌سازی مدل کاربر در admin آورده شده است:


from django.contrib import admin
from .models import CustomUser

class CustomUserAdmin(admin.ModelAdmin):
    list_display = ('username', 'email', 'date_joined', 'is_staff')
    search_fields = ('username', 'email')
    ordering = ('date_joined',)
    
admin.site.register(CustomUser, CustomUserAdmin)

در قطعه کد بالا، ما یک مدل کاربر سفارشی به نام CustomUser را به پنل مدیریت اضافه کردیم و با کمک کلاس CustomUserAdmin آن را سفارشی‌سازی کردیم.
list_display: فیلدهایی که در لیست کاربران نمایش داده می‌شود را مشخص می‌کند.
search_fields: فیلدهایی که می‌توانیم براساس آنها جستجو کنیم را تعریف می‌کند.
ordering: ترتیب نمایش کاربران در پنل مدیریت را تنظیم می‌کند.

با استفاده از این روش‌ها، شما به راحتی می‌توانید کاربران را بروزرسانی کرده و اطلاعات دقیقی را در اختیار داشته باشید.

سوالات متداول

؟

چگونه می‌توانم فیلدهای اضافی به فرم ویرایش کاربران در Django Admin اضافه کنم؟

؟

آیا می‌توانم ترتیب نمایش کاربران را در پنل مدیریت Django تغییر دهم؟

؟

چطور می‌توانم کاربران را بر اساس نام یا ایمیل در پنل مدیریت جستجو کنم؟