2010-02-25 3 views
0

J'ai une application django. J'ai ajouté l'image (url) en css, elle n'affiche pas l'image. Mais quand je l'ai utilisé comme fichier html, il affiche l'image. Dois-je définir une URL dans settings.py pour cela? Source [montré ici] [1]. [1]: http://dpaste.com/164620/Django n'affiche pas l'image en css

+0

Montrez-nous le CSS & html pour l'image - il va nous aider à vous aider - Ooops - vient de voir le lien dapaste - s'il vous plaît ignorez-moi et je partirai :) – Frozenskys

+0

essayez de réécrire votre question que le balisage est mauvais.et ajoutez le code html que vous utilisiez pour inclure votre image et le code CSS que vous utilisez. Oups - même que Frozenskys – Mathieu

+0

Maintenant, j'ai spécifié correctement. –

Répondre

0

est /home/logic/quote/template/hummingbirds.gif votre chemin d'accès à l'image? ça ressemble à un chemin local. s'affiche-t-il lorsque vous tapez http://your.host/home/logic/quote/template/hummingbirds.gif

Si vous définissez une couleur de fond, la couleur apparaît-elle?

suggestion: sur Firefox avec Firebug:

  • activer avertissement css
  • lokks au fichier css analysable (onglet css) pour voir si votre règle est bien writen
  • inspectent l'élément de votre arrière-plan doit être activé et vérifier que la règle css est appliquée et non écrasée
+0

La couleur apparaît mais l'image n'est pas affichée. –

1

C'est certainement un chemin local. Vous avez besoin d'un chemin relatif à la racine doc (par défaut, Django ne sert pas les fichiers média, il est déconseillé de le faire en dehors des environnements de test) ou une URL absolue si le fichier se trouve sur un (sous-) domaine différent (par exemple un vhost Apache local qui sert les fichiers médias).

Si vous utilisez des chemins relatifs, sachez que le chemin sera relatif à la page sur laquelle le chemin est mentionné (ie si vous le mettez dans un fichier CSS, ce sera par rapport au fichier CSS, si vous mettez dans un gabarit, ce sera par rapport à la page affichée avec ce gabarit).

Si vous utilisez des chemins absolus, sachez que le chemin sera relatif à la racine doc de ce (sous-) domaine.

EDIT: NON, vraiment. C'est le chemin. Un chemin en CSS ou HTML sera analysé par votre navigateur. Ainsi, même si vous exécutez la commande sur localhost, un chemin absolu (commençant par /) sera analysé par rapport à la racine du document (c'est-à-dire remis à la résolution d'URL de Django).

Si vous avez le site en cours d'exécution sur http://localhost:8000, /home/logic/quote/template/hummingbirds.gif seront traités comme http://localhost:8000/home/logic/quote/template/hummingbirds.gif, à savoir votre navigateur fera une requête HTTP GET au serveur en cours d'exécution à localhost:8000 pour le chemin /home/logic/quote/template/hummingbirds.gif. Si le serveur est Django, il essaiera de trouver une règle correspondant à /home/logic/quote/template/hummingbirds.gif dans votre urls.py. Vous ne pouvez pas faire référence à un fichier dans votre système de fichiers en passant simplement le chemin local.

Si vous voulez servir des fichiers statiques (par exemple les images) avec Django (ie sur le même domaine et le port Django fonctionne sur), vous devez le configurer pour servir ces fichiers d'abord comme ceci: http://docs.djangoproject.com/en/dev/howto/static-files/

Si vous vouloir se référer à un fichier sur votre système de fichiers (BAD pratique et doit être remplacé si la chose est toujours en ligne), vous devez utiliser le protocole file:// explicitement. Les URL absolues (c'est-à-dire sans préfixe de protocole et nom de domaine) seront toujours considérées comme relatives au protocole et au domaine en cours.

+0

Il est encore dans le développement, je n'ai pas hébergé mon application, j'ai mentionné tout très clairement, il est encore dans le développement. Je dois utiliser le chemin local seulement, le chemin est absolument correct, mais je fais une erreur où d'autre, j'ai même donné mon code source. –

+0

@DAFFODIL voir mon edit pour une explication complète de ce qui pourrait se passer. –

+0

J'ai suivi vos lignes directrices, mais c'est toujours pareil. Voir les changements, j'ai fait http://dpaste.com/hold/165122/ –