برنامه‌نویسی

۸ پکیجی که باید در پروژه‌های جنگو استفاده کنید


۲۲ تیر ۱۳۹۹

آیا قصد دارید پروژه جدیدی را با جنگو ایجاد کنید؟ در این مقاله ۸ پکیجی را معرفی می‌کنیم که باید در هر پروژه جنگو از آن‌ها استفاده کنید. استفاده از آن‌ها در عین حال باعث رشد چشم‌گیر پروژه‌تان می‌شود.

پکیج‌های جنگو

Django-extensions

این پکیج با فاصله بسیار زیاد از سایرین، پرکاربردترین پکیج در پروژه‌های جنگو است. امکانات و افزونه‌های زیادی نظیر shell_plus را فراهم می‌کند که باعث می‌شود تمام مدل‌ها به صورت خودکار وارد پروژه‌تان شوند. همچنین دستورات مفید و کارآمد دیگری نظیر admin_generator، runserver_plus و validate_templates و … را در اختیارتان می‌گذارد.

لینک مستندات: Django Extensions

Django-allauth

Django-allauth بهترین ابزاری است که می‌توان برای احرازهویت، ثبت‌نام و مدیریت اکانت‌ها در پروژه‌های جنگو، از آن استفاده کرد. همچنین امکان استفاده از تعداد زیادی ارائه‌دهندگان احرازهویت Social را فراهم می‌کند (Oauth). همچنین دارای templateهای داخلی برای مدیریت اکانت‌ها و ایمیل‌ها به همراه حجم زیادی از تنظیمات و شخصی‌سازی‌ها است تا بتوانید در پروژه‌های ‌خود از آن‌ها استفاده کنید.

لینک مستندات: Django-allauth

Python-decouple

آیا فایل‌های تنظیمات پروژه‌تان از کنترل خارج شده است؟ و یا حتی از تغییردادن متغیرهای محیطی خسته شده‌اید؟ Python Decouple به شما کمک می‌کند تا تنظیمات محیطی‌تان را از کدتان تفکیک کنید. با استفاده از Python-decouple، تنظیمات مرتبط با یک محیط توسعه در یک پروژه، به فایل‌هایی که حاوی تنظیمات یک محیط توسعه است (.env و یا .ini)، منتقل می‌شود.

لینک مستندات: Python-decouple

Celery

اگر برنامه‌تان نیاز به انجام تسک‌های زمان‌بر و سنگینی دارد که نمی‌توان آن‌ها را در طول پردازش درخواست و پاسخ (request و response) انجام داد، باید از یک سیستم صف‌بندی برای تسک‌ها استفاده کنید. Celery یکی از بهترین گزینه‌های موجود برای استفاده در چنین برنامه‌هایی است. این کتابخانه از مدیریت‌کننده‌های پیام، نظیر RabbitMQ، Redis، ‌Beanstalk، MongoDB و … پشتیبانی می‌کند.

لینک مستندات: Celery

Easy-thumbnails

Easy thumbnails دقیقا همان چیزی است که از اسمش معلوم است. با ImageField نیز کار‌می‌کند، همچنین ThumbnailerImageField را نیز در اختیارتان می‌گذارد. برای استفاده از این پکیج تنها باید تنظیمات مربوط به عکس‌ها را در فایل‌های مربوطه وارد کنید، سپس می‌توانید از thumbnailها در templateها و viewها استفاده کنید.

لینک مستندات: Easy-thumbnails

Django-compressor

این پکیج برای اینکه برنامه شما را برای ارائه به کاربران آماده کند، مناسب است. این پکیج تمام فایل‌های JS و CSS شما را در یک فایل cache شده فشرده می‌کند. همچنین از Jinja و reactjs نیز پشتیبانی می‌کند.

لینک مستندات: Django-compressor

Django-crispy-forms

این پکیج این اجازه را به شما می‌دهد تا فرم‌تان را توسط فریم‌ورک فرانت‌اند (CSS) دلخواه‌تان رندر کنید. همچنین از Bootstrap 3، Bootstrap 4، Foundation و Uni-Form نیز پشتیبانی می‌کند. تنها نیاز دارید از تگ‌هایی که این پکیج فراهم می‌کند، در templateتان استفاده کنید.

لینک مستندات: Django-Crisp-forms

Django-import-export

Django-import-export برای وارد کردن دیتای حجیم با استفاده از Excel، CSV، JSON، YAML و … مناسب است. دارای قابلیت پیش‌نمایش و پشتیبانی از admin است. همچنین فیلترها برای خروجی گرفتن و مرتب سازی داده‌ها قابل استفاده هستند.

لینک مستندات: Django-import-export

منبع: https://www.inkoop.io/blog/8-must-have-django-packages