Je veux être en mesure de charger mes fichiers statiques sur mon serveur local, mais quand je les demande, le navigateur renvoie 404 pour chaque ressource.Django: les fichiers statiques retournent l'erreur 404
D'après ce que je peux comprendre, STATIC_URL
est l'URL dans laquelle mes fichiers statiques seront servis. Et STATICFILES_FINDERS
spécifie comment mes fichiers statiques seront découverts. J'ai mis STATICFILES_DIRS
pour rechercher le répertoire static
à la racine du projet, mais il ne semble pas être le trouver.
Sur mon settings.py
,
# Python 2.7.5, Django 1.6
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
STATIC_URL = '/static/'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
Ceci est ma structure de répertoire:
.
|-- myapp
|-- settings.py
|-- ...
static
|-- images
|-- javascript
|-- stylesheets
Les barres obliques de fin pour la directive Alias doivent être équilibrées sur les arguments lors d'une sous-URL. C'est l'utilisation, 'Alias / statique/chemin/vers/statique' et pas 'Alias / statique// chemin/vers/statique'. Si ce n'est pas le cas, cela peut nuire à la façon dont Apache mappe les URL sur le système de fichiers, la barre oblique étant supprimée et le chemin calculé étant erroné. Cela peut entraîner une réponse d'erreur HTTP introuvable ou interdite selon la configuration d'Apache. –
Merci @GrahamDumpleton! J'ai modifié la réponse pour équilibrer les barres obliques dans l'URL et le chemin. Cet exemple particulier provient du [guide d'utilisation de Django pour l'utilisation d'Apache avec mod_wsgi] (https://docs.djangoproject.com/fr/1.6/howto/deployment/wsgi/modwsgi/#serving-files) et des barres obliques sont correctement équilibrés comme vous l'avez indiqué. Merci encore! –