J'ai mis en place un projet simple et tout fonctionnait bien jusqu'à un certain point. J'ajoutais des choses au projet, des chemins vers des répertoires statiques, etc, et soudainement je me suis rendu compte que les médias d'administration cessaient d'être servis, pas de css, pas d'images.Django admin médias cessé d'être servi localement
la source de Voir la page révèle ceci:
link rel="stylesheet" type="text/css" href="/static/admin/css/base.css"
Ce qui est correct et le même chemin fonctionne avec tout projet Django nouvellement créé.
Fondamentalement, je voudrais réactiver en quelque sorte que le support d'administration est servi à partir de l'emplacement par défaut.
Ceci est la settings.py mais franchement, je ne l'ai pas beaucoup changé depuis le moment où il a cessé de fonctionner.
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = os.path.join(PROJECT_ROOT, "site_media", "media")
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = "/site_media/media/"
# Absolute path to the directory that holds static files like app media.
# Example: "/home/media/media.lawrence.com/apps/"
STATIC_ROOT = os.path.join(PROJECT_ROOT, "site_media", "static1")
# URL that handles the static files like app media.
# Example: "http://media.lawrence.com"
STATIC_URL = "/site_media/"
# Additional directories which hold static files
STATICFILES_DIRS = [
os.path.join(PROJECT_ROOT, "site_media"),
os.path.join(PROJECT_ROOT, "site_media", "static"),
os.path.join(PROJECT_ROOT, "site_media", "media"),
]
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/static/admin/'
# Make this unique, and don't share it with anybody.
SECRET_KEY = '[email protected]=7gbj8xb5z*u6cew3x8m(&_v&jlp16!^[email protected]#'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
ROOT_URLCONF = 'wizs.urls'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(PROJECT_ROOT, "templates"),
)
TEMPLATE_CONTEXT_PROCESSORS = [
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.request",
"django.contrib.messages.context_processors.messages",
'django.core.context_processors.static',
]
MISE À JOUR
Paraît qu'il est descendu à jongler avec ces deux propriétés:
1) Maintenant, je vois les médias admin mais pas les médias (par exemple Uploaded images)
STATIC_URL = "/site_media/static/"
ADMIN_MEDIA_PREFIX = '/site_media/static/admin/'
2) Maintenant, je vois les fichiers multimédias téléchargés, mais pas les médias d'administration
STATIC_URL = "/site_media/"
ADMIN_MEDIA_PREFIX = '/site_media/static/admin/'
S'il vous plaît vérifiez la mise à jour à la fin du poste. O a réussi à faire apparaître les médias d'administration, mais mes fichiers téléchargés ont disparu. On dirait que je ne peux pas trouver les paramètres pour avoir les deux. – Ska
J'ai ajouté tous mes paramètres, veuillez les vérifier et voir s'ils fonctionnent pour vous. –
L'urls.py a fait l'affaire. Cependant, j'avais besoin d'avoir STATICFILES_DIRS comme je les avais avant, pas comment vous l'avez. Tout cela avec des fichiers statiques, des médias et des médias d'administration est très confus dans Django. J'espère qu'ils simplifieront cela bientôt. – Ska