Django-fr

Forum

#1 01-02-2015 18:41:39

alexmeryem
Membre
Inscription : 01-02-2015
Messages : 8

Afficher les fichiers statiques : images, css...

bien le bonjour à tous,

je m'adresse à vous car bien que j'ai cherché partout sur le net, je ne parviens absolument pas à afficher les images et le style css sur mes templates.
j'ai utilisé la méthode {%load static %} + <img src="{ % static 'image'.PNG' %}"dans mes templates, utilisé la méthode static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) et urlpatterns += staticfiles_urlpatterns() dans mon urls.py et ca ne donne rien !

Si quelqu'un peut m'aider il deviendra mon meilleur ami!

Je vous laisse mes fichers settings.py et urls.py afin que vous puissiez vous reperez:

SETTINGS.py:
"
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os

BASE_DIR = os.path.dirname(os.path.dirname(__file__))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.7/h … checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '+-4w!xga8h)djq0ck4gi^tq$m41+x-esr8#nd&^uxg4=gadm#$'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Problems',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

ROOT_URLCONF = 'leanecam.urls'

WSGI_APPLICATION = 'leanecam.wsgi.application'


# Database
# https://docs.djangoproject.com/en/1.7/r … #databases

DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(BASE_DIR, 'myweblabdev.sqlite'),                       
         'USER': '',
         'PASSWORD': '',
         'HOST': '',                     
         'PORT': '',                     
    }
}


# Internationalization
# https://docs.djangoproject.com/en/1.7/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/h … tic-files/

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

MEDIA_URL = '/media/'

STATIC_ROOT = os.path.join(BASE_DIR,'static')

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    "/leanecam/static/",
)



URLS.PY
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf import settings

admin.autodiscover()

urlpatterns = patterns('Problems.views',
    url(r'^contact/$', 'contact'),
 
      url(r'^bilan/$', 'bilan'),

) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

urlpatterns += staticfiles_urlpatterns()

Hors ligne

#2 02-02-2015 09:55:10

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Afficher les fichiers statiques : images, css...

Bonjour,

Il faut bien suivre les instructions données par:
https://docs.djangoproject.com/fr/1.7/h … tic-files/

En DEBUG=True, tu n'as pas besoin d'ajouter le static dans ton fichier urls.py
De plus la valeur de ton STATICFILES_DIRS me semble suspecte. Je ne pense pas que ton application soit à la racine du système de fichier.
En outre, il faut que STATIC_ROOT et STATISFILES_DIRS aient bien des valeurs distinctes.

Hors ligne

#3 02-02-2015 11:13:30

alexmeryem
Membre
Inscription : 01-02-2015
Messages : 8

Re : Afficher les fichiers statiques : images, css...

Bonjour,
Tout d'abord merci beaucoup pour votre réponse.
Quand vous parlez de la non nécessité du static dans le urls.py, vous parlez seulement de la commande "Static(settings...)" ?
Celle qui joint les urls patterns et les urls statiques doit être conservée ?
Cordialement et en vous remerciant ! smile

Hors ligne

#4 03-02-2015 08:32:52

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Afficher les fichiers statiques : images, css...

Sauf si vous utilisez une vieille version de Django, à partir du moment où l'application 'django.contrib.staticfiles' est déclarée dans le INSTALLED_APPS et que vous êtes en DEBUG=True, vous n'avez besoin de rien ajouter pour les fichiers statiques. CAD:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.conf import settings

admin.autodiscover()

urlpatterns = patterns('Problems.views',
    url(r'^contact/$', 'contact'),
    url(r'^bilan/$', 'bilan'),
)

Hors ligne

Pied de page des forums