IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Problème de chanrgement des fichiers CSS [Python 3.X]


Sujet :

Django Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut Problème de chanrgement des fichiers CSS
    Bonjour à tous,

    Novice dans l'utilisation du Framework Django, je lis le livre "Apprendre la programmation web avec Python et Django" et je fais les exercices qu'il propose.
    Tous allait bien jusqu'ici mais je rencontre désormais un problème lorsque e dois appliquer un fichier CSS. C'est comme si le fichier n'était chargé et j'ai une erreur 404 1652.
    Après pas mal de recherche sur internet, j'ai vu qu'il y avait des paramétrages à réaliser sur les fichiers statiques mais malgré tout mes essais, je n'arrive pas à avancer.
    Pour information, j'utilise PyDev avec Eclipse sous Ubuntu 18.04.
    Quelqu'un connaitrait-il le paramétrage à utiliser pour que tout fonctionne correctement?

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Normalement il faut indiquer où se trouvent les dossiers à l'appli.

    Je ne connait pas Django mais Flask qui n'est pas très éloigné et on fait comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    WEBDIR = os.path.dirname(os.path.abspath('__files__'))
    PAGESDIR = os.path.join(os.path.dirname(WEBDIR), 'htdocs/templates')
    STATICDIR = os.path.join(os.path.dirname(WEBDIR), 'htdocs/static')
     
    # On passe ça à l'application
    app = Flask(__name__, template_folder=PAGESDIR, static_folder=STATICDIR)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Si cela peut aider quelqu'un à comprendre mon problème, vous trouverez ci-dessous les informations concernant l'arborescence et le contenu de mes fichiers :

    Arborescence:

    Nom : Capture du 2018-09-10 21-25-26.png
Affichages : 1165
Taille : 39,9 Ko

    setting.py:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
     
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
     
    """
    Django settings for SuiviDeProjet project.
     
    Generated by 'django-admin startproject' using Django 1.11.11.
     
    For more information on this file, see
    https://docs.djangoproject.com/en/1.11/topics/settings/
     
    For the full list of settings and their values, see
    https://docs.djangoproject.com/en/1.11/ref/settings/
    """
     
    import os
    #from django.conf.global_settings import STATICFILES_DIRS
     
    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
     
     
    # Quick-start development settings - unsuitable for production
    # See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/
     
    # SECURITY WARNING: keep the secret key used in production secret!
    SECRET_KEY = 'erj6!_%w$35(q4u@rbj)ctk85wwm_t6kmolt0s#452l@fb94g6'
     
    # SECURITY WARNING: don't run with debug turned on in production!
    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',
    ]
     
    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
     
    ROOT_URLCONF = 'SuiviDeProjet.urls'
     
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
     
    WSGI_APPLICATION = 'SuiviDeProjet.wsgi.application'
     
     
    # Database
    # https://docs.djangoproject.com/en/1.11/ref/settings/#databases
     
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
     
     
    # Password validation
    # https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
     
    AUTH_PASSWORD_VALIDATORS = [
        {
            'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
        },
    ]
     
     
    # Internationalization
    # https://docs.djangoproject.com/en/1.11/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.11/howto/static-files/
     
    STATIC_URL = '/static/'
     
    TEMPLATES[0]['DIRS'] = [os.path.join(BASE_DIR,'templates')]
     
    STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

    urls.py :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    """SuiviDeProjet URL Configuration
     
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/1.11/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.conf.urls import url, include
        2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
    """
    from django.conf.urls import url
    from SuiviDeProjet.views import welcome, login
     
    urlpatterns = [
        url('^$', login),
        url('^login$', login),
        url('^welcome$', welcome)
    ]
    views.py :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
     
    from django.shortcuts import render
    from datetime import datetime
     
    def welcome(request):
        return render(request, 'welcome.html', {'current_date_time': datetime.now})
     
    def login(request):
        return render(request, 'login.html')


    base.html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		{% load static %}
    		<link rel="stylesheet" type="text/css" href= "{% static 'css/style.css' %}" />
    		<title>
    			Suivi de Projet - {% block title %}Bienvenue{% endblock %}
    		</title>
    	</head>
    	<body id="{% block bodyId %}genericPage{% endblock %}">
    		<header>
    		{% block headerContent %}{% endblock %}
    		</header>
    		<section id="content">
    		{% block content %}{% endblock %}
    		</section>
    	</body>
    </html>
    login.html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    {% extends "base.html" %}
     
    {% block title %}Connexion{% endblock %}
     
    {% block bodyId %}loginPage{% endblock %}
     
    {% block content %}
    <form action="???" method="get">
    	<p>
    		<label for="email">Courriel :</label>
    		<input name="email" id="email" size="30" type="email" />
    	</p>
    	 <p>
    		<label for="password">Mot de passe :</label>
    		<input name="password" id="password" size="30" type="password" />
    	</p>
    	<p>
    		<input type="submit" value="Se connecter" />
    		<a ref="  ">Créer un compte</a>
    	</p>
    </form>
    {% endblock %}

    style.css :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    body {
    	background-color: red; 
    }

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Octobre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Bonjour,
    J'ai réussi à résoudre mon problème en passant à la version 2.1.1 de Django.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CSS Dynamique : problème de chargement des fichiers
    Par Emyleen dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 07/10/2011, 14h34
  2. [POI] Problème de lecture des fichiers Word
    Par Dari dans le forum Documents
    Réponses: 9
    Dernier message: 05/07/2007, 14h08
  3. [win] problème pour partager des fichiers entre 2 pc
    Par goma771 dans le forum Administration
    Réponses: 1
    Dernier message: 01/12/2005, 16h15
  4. [HTML] Problème mise à jour des fichiers en cache
    Par El Riiico dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/09/2005, 17h00
  5. Problème pour Télécharger des fichiers
    Par joce3000 dans le forum C++Builder
    Réponses: 8
    Dernier message: 21/01/2005, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo