Les fichiers uploadés via le modèle Fichier étaient sauvegardés dans media/static/uploads/
au lieu de static/uploads/, car Django ajoute automatiquement MEDIA_ROOT devant le chemin.
Création d'un custom storage qui sauvegarde directement dans static/uploads/ sans
utiliser MEDIA_ROOT.
Fichier: core/storage/backends.py
static/ au lieu de media//static/ comme baseFichier: core/models.py
StaticStorageModification du champ f_fichier pour utiliser le storage personnalisé
f_fichier = models.FileField("Fichier", upload_to='uploads/', storage=StaticStorage())
static/uploads//static/uploads/nom_fichierVous devrez faire la migration sur votre serveur de production ou dans votre environnement avec Django installé :
python3 manage.py makemigrations core
python3 manage.py migrate core
docker-compose exec web python manage.py makemigrations core
docker-compose exec web python manage.py migrate core
Pour tester que le storage fonctionne, exécutez :
python3 test_storage.py
media/static/uploads/ resteront là où ils sontstatic/uploads/Vous pourrez déplacer manuellement les anciens fichiers si nécessaire :
mv media/static/uploads/* static/uploads/
Si vous voulez que Django gère les fichiers via MEDIA au lieu de STATIC (recommandé pour la production), vous devrez :
/static/uploads/
en /media/uploads/