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

۱.۱۱ - اضافه کردن آیکون شمارنده به فیلترها | ترجمه کتاب Django 5 By Example

آیکون شمارنده یا همان Facet counts: این ویژگی جدیدی است که در جنگو ۵ معرفی شده است و در این پست قصد داریم با آن آشنا شویم و از آن بهره ببریم.

ترجمه کتاب جنگو ۵ با مثال - فصل اول - اپیزود ۱۱ - اضافه کردن آیکون شمارنده به فیلترها
ترجمه کتاب جنگو ۵ با مثال - فصل اول - اپیزود ۱۱ - اضافه کردن آیکون شمارنده به فیلترها

جنگو ۵.۰ قابلیت آیکون شمارنده | Facet Counts را به پنل مدیریت (Admin Site) اضافه کرده است که تعداد نتایج هر فیلتر را نمایش می‌دهد که.

این تعدادها نشان می‌دهند که برای هر گزینه‌ی فیلتر، چه تعداد شیء (Object) وجود دارد. به این ترتیب، هنگام مشاهده‌ی صفحه‌ی لیست رکوردها (Change List) در بخش مدیریت، راحت‌تر می‌توان تشخیص داد که هر فیلتر چه تعداد نتیجه دارد.

در ادامه، تنظیم می‌کنیم که Facet Counts همیشه برای مدل مدیریتی PostAdmin نمایش داده شوند.

فایل admin.py برنامه‌ی blog را ویرایش کرده و خطی که با پررنگ مشخص شده است را اضافه کنید:

from django.contrib import admin from .models import Post @admin.register(Post) class PostAdmin(admin.ModelAdmin): list_display = ['title', 'slug', 'author', 'publish', 'status'] list_filter = ['status', 'created', 'publish', 'author'] search_fields = ['title', 'body'] prepopulated_fields = {'slug': ('title',)} raw_id_fields = ['author'] date_hierarchy = 'publish' ordering = ['status', 'publish'] show_facets = admin.ShowFacets.ALWAYS

همچنین دو گزینه دیگر ALLOW. و NEVER. هم وجود دارد که مشهود است.

اکنون با استفاده از پنل مدیریت، چند Post ایجاد کنید و سپس به آدرس زیر بروید:

http://127.0.0.1:8000/admin/blog/post/

اکنون باید در کنار گزینه‌های فیلتر، تعداد رکوردهای مربوط به هر گزینه نیز نمایش داده شود؛ همان‌طور که در شکل زیر مشاهده می‌کنید.

نتیجه Facet Filters و گزینه ALWAYS در نسخه جنگو ۵
نتیجه Facet Filters و گزینه ALWAYS در نسخه جنگو ۵

شکل ۱.۱۵: فیلترهای فیلد Status همراه با تعداد (Facet Counts)

تنها با چند خط کد، نحوه‌ی نمایش این مدل در پنل مدیریت را سفارشی‌سازی کردیم. روش‌های بسیار زیادی برای شخصی‌سازی و گسترش پنل مدیریت جنگو وجود دارد که در ادامه‌ی این کتاب با آن‌ها آشنا خواهید شد.

برای اطلاعات بیشتر درباره‌ی پنل مدیریت جنگو، به مستندات رسمی مراجعه کنید:

https://docs.djangoproject.com/en/5.0/ref/contrib/admin/


پست قبلی: (۱.۱۰: شخصی سازی و ارتقا پنل ادمین جنگو)

پست بعدی: (1.12: کار با QuerySet و lookup ها)

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