Django ne peut pas trouver les fichiers statiques. Besoin d'une deuxième paire d'yeux, je deviens fou
Django ne va pas servir ma fichiers statiques. Voici la erreur retourné:
[13/Jun/2014 06:12:09] "GET /refund/HTTP/1.1" 200 2927
[13/Jun/2014 06:12:09] "GET /static/css/bootstrap.min.css HTTP/1.1" 404 1667
[13/Jun/2014 06:12:09] "GET /static/css/cover.css HTTP/1.1" 404 1643
[13/Jun/2014 06:12:09] "GET /static/js/bootstrap.min.js HTTP/1.1" 404 1661
[13/Jun/2014 06:12:09] "GET /static/assets/js/docs.min.js HTTP/1.1" 404 1667
[13/Jun/2014 06:12:09] "GET /static/js/bootstrap.min.js HTTP/1.1" 404 1661
[13/Jun/2014 06:12:09] "GET /static/assets/js/docs.min.js HTTP/1.1" 404 1667
Voici la partie pertinente de mon base.html pour bootstrap:
!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../assets/ico/favicon.ico">
<title>Cover Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
{
<link href="{% static "css/bootstrap.min.css"%}" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="{% static "css/cover.css" %}" rel="stylesheet">
Pertinents du code de settings.py (Remarque: Les modèles de, a très bien fonctionné.)
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
STATIC_URL = '/static/'
STATIC_ROOT = ''
Et voici comment mon projet django est posé:
- admin
- db.sqlite3
- nom du projet
- manage.py
- nom de l'application
- statique
- css
- ...
- dist
- ...
- css
- modèle
- base.html
Un peu d'aide serait grandement appréciée. Je ne sais pas ce que je pourrait avoir fait de mal, j'ai regardé le code d'un million de fois et de toute évidence, elle doit être une lacune dans ma compréhension de la façon dont Django sert des fichiers statiques; cependant je l'ai fait précédemment avec pas de problèmes.
Êtes-vous à l'aide de
Est le nom du répertoire "template" ou des "modèles"?
Je ne peux pas vérifier pour le moment, mais je le ferai plus tard ce soir.
Il est des modèles, c'est tout simplement une faute de frappe.
runserver
de servir votre application? Avec debug=True
? Et django.contrib.staticfiles
chargé?Est le nom du répertoire "template" ou des "modèles"?
Je ne peux pas vérifier pour le moment, mais je le ferai plus tard ce soir.
Il est des modèles, c'est tout simplement une faute de frappe.
OriginalL'auteur CowardlyFrench | 2014-06-13
Vous devez vous connecter pour publier un commentaire.
procédez de la manière suivante:
Si vous êtes dans le DEBUG, ensemble STATICFILES_DIRS = ("chemin/vers/static") de la variable dans votre settings.py. Il faut ensuite travailler seulement en mode de DÉBOGAGE.
Si vous voulez pouvoir l'utiliser dans de déployer mode, réglez STATIC_ROOT = ("chemin/vers/static_root") de la variable dans le settings.py. Ensuite, exécutez
python manage.py collectstatic
et il devrait également fonctionner.Et maintenant, pour mieux comprendre comment django gère les fichiers statiques:
Django a quelques prédéfinis endroits pour rechercher des fichiers statiques et de les recueillir, de vous indiquer où les trouver avec la STATICFILES_FINDERS dans votre settings.py. Par défaut, il recherche statique dossier à l'intérieur de vos applications. Vous pouvez indiquer à Django regarder pour les fichiers statiques dans d'autres régions par la mise en au STATICFILES_DIRS variable (liste ou un tuple de chemins d'accès).
En mode DEBUG, staticfiles sont récoltées à partir de ce parcours (pas de la static_root où vous récupérez vos fichiers).
Lorsque vous exécutez
python manage.py collectstatic
, Django va à travers tous les répertoires où les fichiers statiques peuvent être trouvés, et les place dans votre racine statique. Lorsque vous exécutez dans la de déployer mode, les fichiers statiques sont servis à partir de ce répertoire.PS: Ce que j'ai l'habitude de faire est de créer une application appelée commun et de créer un statique de la dir à l'intérieur à la place de toutes les communes css, js pour mon projet (et aussi pour les modèles). De cette façon, je n'ai pas à spécifier le STATICFILES_DIRS variable.
Espère que c'est clair maintenant =).
merci copain c'était, me rend fou, il m'a fallu 4 heures pour le comprendre et, finalement, grâce à vous j'ai réussi à établir un lien de mon fichier css.
OriginalL'auteur argaen
Ainsi, il suffit de passer par le Tutoriel, j'ai été bloqué avec ce problème assez bien. Il suffit de redémarrer le service web a fixé.
Donc, si juste de finir le Tutoriel instructions, mettez un répertoire statique//de style.css à l'intérieur de la dir nommé , tout en mettant
à l'intérieur de la tête de la section de fichiers html (par ex., index.html) qui devrait être conçu avec css-fichier.
OriginalL'auteur efi
OriginalL'auteur Jahir islam