۸ پکیجی که باید در پروژههای جنگو استفاده کنید
۲۲ تیر ۱۳۹۹
آیا قصد دارید پروژه جدیدی را با جنگو ایجاد کنید؟ در این مقاله ۸ پکیجی را معرفی میکنیم که باید در هر برنامهی جنگو از آنها استفاده کنید. استفاده از آنها در عین حال باعث رشد چشمگیر پروژهتان میشود.
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