نصب WhiteNoise در پروژه‌های Django

django install whitenoise
11 آذر 1403

چگونه WhiteNoise را در Django نصب کنیم؟


اگر به دنبال یک راه حل ساده و کاربردی برای سرویس‌دهی فایل‌های استاتیک در پروژه Django خود هستید، WhiteNoise یکی از بهترین گزینه‌هاست. WhiteNoise به شما این امکان را می‌دهد که به سادگی فایل‌های استاتیک خود را از طریق همان برنامه Django خود سرویس کنید، بدون نیاز به سرور خارجی مانند Nginx یا Apache. استفاده از WhiteNoise ساده و بسیار مؤثر است و به راحتی با پروژه‌های Django ادغام می‌شود.



پیش از اینکه به سراغ مراحل نصب WhiteNoise برویم، بیایید کمی درباره نحوه کارکرد آن صحبت کنیم. WhiteNoise به شما کمک می‌کند که فایل‌های استاتیک پروژه خود را مستقیماً از همان سرویس‌دهنده Django منتشر کنید. این امر با حذف نیاز به سرورهای وب دیگر برای مدیریت فایل‌های استاتیک، فرآیند توسعه و استقرار را بسیار ساده‌تر می‌کند.



برای نصب WhiteNoise و بهره‌گیری از مزایای آن، ابتدا باید بسته آن را از طریق pip نصب کنید. سپس، برخی تغییرات کوچک در تنظیمات پروژه خود اعمال می‌کنید تا اجازه دهید Django بتواند به کمک WhiteNoise فایل‌های استاتیک را سرویس کند.



برای شروع، نیاز دارید مطمئن شوید که فایل‌های استاتیک خود را گردآوری و آماده کرده‌اید. این بدان معناست که فایل‌های استاتیک شما باید در پوشه‌ مشخصی ذخیره و تنظیمات مربوط به آنها در فایل‌های مورد نظر شما ثبت شده باشد.



به یاد داشته باشید که پس از اعمال تنظیمات لازم، می‌توانید با اجرای پروژه خود به راحتی از طریق مرورگر وب اطمینان حاصل کنید که فایل‌های استاتیک بدون مشکل سرویس می‌شوند. این امر می‌تواند شامل بررسی منابعی مانند CSS، JavaScript، تصاویر و فونت‌ها باشد.



pip install whitenoise

# settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# ...
]

# Add the following settings
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

# Optional, for compression and caching
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'



pip install whitenoise ← این دستور WhiteNoise را با استفاده از pip نصب می‌کند.
# settings.py ← فایل تنظیمات پروژه Django شما است.
MIDDLEWARE = [...] ← به تنظیمات Middleware پروژه اضافه کنید و WhiteNoise را در لیست بگنجانید.
'whitenoise.middleware.WhiteNoiseMiddleware' ← قرار دادن این خط در لیست Middleware باعث فعال‌سازی WhiteNoise می‌شود.
STATIC_URL = '/static/' ← مسیر URL مربوط به فایل‌های استاتیک را مشخص می‌کند.
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') ← مشخص می‌کند که فایل‌های استاتیک در کجا گردآوری و ذخیره شوند.
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' ← (اختیاری) استفاده از این تنظیمات فشرده‌سازی و کش کردن فایل‌های استاتیک را ممکن می‌کند.

سوالات متداول

؟

چرا از WhiteNoise در Django استفاده کنیم؟

؟

چگونه WhiteNoise را در پروژه خود اضافه کنم؟

؟

آیا WhiteNoise فقط برای فایل‌های استاتیک کاربرد دارد؟