J'ai déployé un site Web avec django. Il sert tous les fichiers statiques mais ne sert pas les fichiers téléchargés par l'utilisateur. c'est mon settings.py
et urls.py
:django ne sert pas les fichiers téléchargés par l'utilisateur en production
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = False
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticroot')
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]
MEDIA_URL = '/files/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploaded_files')
et urls.py
:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', Index.as_view(), name='index'),
]
Dans les pages, il imprime l'utilisateur correctement les fichiers téléchargés adresses, mais ne les montre pas anf quand je clique sur les liens, il me montre 404 page. J'utilise la dernière version de nginx que j'ai prise dans les dépôts nginx. la version 1.12. est-il lié à django ou webserver (nginx + gunicorn)? et comment puis-je résoudre le problème?
Mise à jour Quand je change le MEDIA_URL
et DEBUG
True, pour la première fois il fonctionne et sert les fichiers téléchargés par l'utilisateur, mais si j'actualisez la page, il ne fonctionne pas! quel est le problème??