2017-10-20 6 views
0

J'ai créé un projet dans Django. De plus, j'utilise django-allauth pour l'inscription et la connexion. Pour utiliser mes propres modèles avec django-allauth, j'ai créé un fichier html appelé signup.html dans un dossier appelé compte dans un dossier appelé templates qui se trouve en dehors de toutes mes applications (/templates/account/signup.html). Ça marche.Pourquoi le fichier css est introuvable dans le template Django?

J'ai essayé d'utiliser un fichier CSS personnalisé dans signup.html:

<link rel="stylesheet" href="/templates/account/signup.css"> 

Il dit que le fichier ne peut être trouvé. Cependant, il est situé dans des modèles/compte.

+2

Copie possible de [Django - Impossible d'obtenir des fichiers CSS statiques t o load] (https://stackoverflow.com/questions/7574759/django-cant-get-static-css-files-to-load) – scharette

+0

@scharette Chaque css fonctionne dans mes applications. – GiannisIordanou

+0

@Giannislordanou Avez-vous suivi mon lien? C'est exactement ce que vous avez marqué comme accepté. – scharette

Répondre

2

votre fichier CSS doit en STATICFILES_DIRS dans settings.py, réglez ce paramètre dans settings.py:

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

et de placer le fichier account/signup.css-/static/account/signup.css, vous pouvez l'obtenir comme:

<link rel="stylesheet" href="/static/account/signup.css"> 

ou

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