Ketika melakukan deploy Django ke Production, sangat disarankan untuk setting debug ke False karena alasan keamanan.
Tetapi setelah setting debug file statis tidak dapat tampil sehingga tampilan website menjadi berantakan.

Berikut beberapa cara yang dapat Anda lalukan agar file static dapat muncul kembali.
Install whitenoise
1
pip install whitenoise
Selanjutnya edit file setting.py lalu tambahkan konfig berikut
1
2
3
4
5
import os, random, string
...
MIDDLEWARE= [
'whitenoise.middleware.WhiteNoiseMiddleware',
...
Bagian import letakan dipaling awal sebelum from pathlib
Anda juga dapat mengurangi ukuran file statis sehingga dapat menambah kecepatan load website dan menjadikannya lebih efisien.
1
2
3
# Simplified static file serving.
# https://pypi.org/project/whitenoise/
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
Edit bagian STATIC.
1
2
3
4
5
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
Symlink folder
Cara kedua adalah membuat symlink folder static ke root directory yang dapat terbaca pada webserver Anda.
1
ln -s /home/user/myapp/staticfiles /home/user/public_html/static
Webserver
Cara terakhir, Anda dapat setting static files dengan menambahkan konfigurasi berikut ke webserver yang Anda gunakan
Nginx
1
2
3
location /static/ {
root /home/sammy/myprojectdir;
}
Apache
1
2
3
4
5
Alias /static/ "/path/to/static/"
<Directory /path/to/static/>
Require all granted
</Directory>