2010-11-10 7 views
0

Peut-être que cette question a été posée beaucoup, mais je
ne comprends toujours pas comment charger des fichiers CSS lors de l'utilisation django ... S'il vous plaît quelqu'un peut me expliquer étape par étape comment charger il?
Puis-je charger le fichier CSS sans le dossier ou le lien statique, donc je n'ai pas besoin de changer le fichier urls.conf mais juste de le mettre dans le fichier "setting.py"?javascript css image django

(Désolé si mon anglais est mauvais ") :(

+0

similaires à: http : //stackoverflow.com/questions/261223/how-do-i-use-css-in-django – JAL

+0

ya ... mais je n'arrive toujours pas à comprendre ... (la partie statique) –

+0

Je ne suis pas sûr d'avoir compris votre question. Vous rencontrez des difficultés pour configurer le dossier multimédia? – JAL

Répondre

2

sur la machine locale: vous devez ajouter:

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/path/to/media'}), 

sur un serveur que vous ne le faites pas (et plus vous ne devriez pas pour des raisons de sécurité) ont besoin de la ligne précédente.

Alors enfin: voici mon architecture:

project/ 
    app1/ 
    __init.py__ 
    views.py 
    public/ 
    site_media/ 
     js/ 
      example.js 
     css/ 
      example.css 

dans mon settings.py:

MEDIA_ROOT = '/thecompletepath/public/site_media/' 
MEDIA_URL = '/site_media/' 

et dans mes modèles, j'utilise:

<link rel="stylesheet" type="text/css" href="/site_media/css/example.css" media="screen" /> 
+0

Utilisez 'RequestContext' avec vos vues et utilisez' {{MEDIA_URL}} 'à la place de'/site_media/', et vous êtes en or. Vous devriez également mentionner que «sur un serveur, vous n'avez pas ... besoin de la ligne précédente», vous vouliez dire qu'il fallait utiliser une configuration spécifique au serveur pour servir le média via le serveur plutôt que via django. – eternicode

2

Il suffit d'ajouter une balise de lien normale à votre modèle.

<link rel="stylesheet" type="text/css" href="http://example.com/path/to.file.css"> 

Sauf si vous avez un fichier CSS dynamique, vous ne voudriez pas avoir De même, si vous n'utilisez pas le dossier media (static), vous n'avez pas besoin de modifier quoi que ce soit dans settings.py, il vous suffit de l'insérer dans votre code HTML dans le template

Si vous ne voulez pas utiliser un fichier CSS externe, bien sûr, vous pouvez toujours mettre <style> étiquettes dans vos modèles.