Skip to main content

فایل‌های استاتیک جنگو

به جز HTML تولید شده توسط سرور، به طور کلی نیاز به ارائه فایل های اضافی مانند تصاویر، جاوا اسکریپت یا CSS برای ارائه کامل صفحه وب است. در جنگو از این فایل‌ها به عنوان فایل‌های ثابت یا static files یاد می‌کنیم. زمانی که شما متغیر DEBUG را از True به False تغییر بدهید، دیگر خودمان باید فایل‌های static را load کنید تا نمایش داده شوند. برای اینکار باید دستور python manage.py collectstatic را به داکر فایل خود اضافه کنیم. همچنین باید یک سری تغییرات در فایل settings.py برنامه خود نیز بدهیم و این فایل‌ها را در یک storage ذخیره کنیم.

MinIO

قصد داریم از minio که یک object storage است برای ذخیره‌ی static fileهای جنگو استفاده کنیم. در ادامه به نحوه‌ی ساخت یک اپ MinIO در دارکوب می‌پردازیم.

ابتدا به منوی ساخت اپ رفته و MinIO را انتخاب می‌کنیم.

سپس پلن موردنظر را انتخاب می‌کنیم.

پس از مدتی انتظار اپ MinIO ما ساخته می‌شود.

حال ما یک اپ minio بالا آورده‌ایم و قصد داریم داریم static fileهای جنگو را در آنجا ذخیره و لود کنیم.

تغییراتی که نیاز هست شما در settings.py خود بدهید تا بتوانید از minio استفاده کنید به شکل زیر می‌باشد. ابتدا شما باید django-storages را نصب کنید.

pip install django-storages[s3]

و در نهایت کد‌های زیر را در settings.py خود اضافه کنید.

همانطور که می‌بینید برای هر قسمت ما یک bucket جداگانه داریم. شما نیز می‌توانید از طریق پورتال وب minio که در کنسول هم‌روش وجود دارد به minio خود رفته و bucketهای متفاوت بسازید.