فیلترهای منطقی و کمکی (Logic & Utility Filters)


Logic & Utility Filters در جنگو برای مدیریت شرایط خاص و ساده‌سازی نمایش داده‌ها استفاده می‌شوند. این فیلترها بیشتر زمانی به کار می‌آیند که داده‌ها ممکن است خالی، None یا غیرمنتظره باشند و ما بخواهیم در تمپلیت بدون نیاز به تغییر در تابع view آن‌ها را مدیریت کنیم. برای نمونه می‌توانیم اگر یک متغیر خالی بود مقدار پیش‌فرض نشان دهیم (default)، یا فقط در صورت None بودن مقدار جایگزین بگذاریم (default_if_none). با استفاده از yesno می‌توانیم مقادیر بولی را به متن قابل فهم برای کاربر تبدیل کنیم (مثلاً True → Yes و False → No). همچنین pluralize برای جمع بستن واژه‌ها کاربرد دارد (مانند اضافه کردن s در انگلیسی) و باعث می‌شود متن‌ها از نظر دستوری صحیح‌تر باشند. این فیلترها درواقع ابزارهای کمکی هستند که منطق ساده و پرکاربرد را مستقیماً در لایه‌ی نمایش (تمپلیت) پیاده‌سازی می‌کنند.

{{ myvar|default:"No Value" }}       <!-- Returns a specified value if the value is False. -->
{{ myvar|default_if_none:"Empty" }}  <!-- Returns a specified value if the value is None. -->
{{ mycondition|yesno:"Yes,No" }}     <!-- Converts Booleans values into specified values. -->