1
votes

Problème de chargement de fichiers statiques sur Django

J'utilise Django 3.0.3 et Python 3.7.6.

J'ai suivi la documentation Django sur https://docs.djangoproject.com/en/3.0/howto/static-files/ mais je ne trouve pas ce qui ne va pas.

Annuaire :

{% load static %}
<link rel="stylesheet" href="{% static "css/main.css" %}">

settings.py:

INSTALLED_APPS = [
    ...
    'django.contrib.staticfiles',
]
...
STATIC_URL = '/static/'

Lorsque j'essaie d'utiliser des fichiers statiques dans mes modèles:

project_name
   -app_name
   -static
      -css
         -main.css
      -js
      ...
   -project_name
      ...
      -settings.py

pycharm montre référence de modèle non résolue '"css / main.css"'

affichage du terminal "GET /static/css/animate.css HTTP / 1.1" 404 1671


3 commentaires

Pouvez-vous reformater votre liste d'annuaire pour qu'elle ait du sens?


Avez-vous: 1) défini STATIC_ROOT et / ou STATICFILES_DIRS 2) exécuté collectstatic 3) ajouté des modèles d'URL pour les fichiers statiques? DEBUG = vrai ou faux?


Merci pour les conseils. Je viens de commencer à apprendre Django et ces conseils m'ont aidé à mieux le comprendre.


3 Réponses :


0
votes

Utilisez ceci dans votre url.py

    urlpatterns+=static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    urlpatterns+=static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)


0 commentaires

1
votes

J'ai résolu ce problème après ces étapes:

1.Ajoutez le code suivant dans settings.py

STATICFILES_DIRS = ( os.path.join (BASE_DIR, 'static /'), )

2.Ajoutez type = "text / css" dans mon modèle

Bien que cela fonctionne pour moi, je ne sais pas pourquoi.


0 commentaires

0
votes

J'ai rencontré le même problème que vous, mais j'utilise django 3.1 . Je n'ajoute cette ligne qu'en tant que document officiel :

Dans settings.py

{% load static %}
...
<link rel="stylesheet" href="{% static 'css/application.css' %}" type="text/css" />

Dans le fichier .html

...
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR / 'static']

Et cela a fonctionné aussi.

p >


0 commentaires