Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Django] Indentation du HTML au niveau des templates...

Un petit truc de perfectionniste ^^

    10 juillet 2010 à 15:48:15

    Bonjour,

    Étant perfectionniste, je me suis rendu compte qu'en analysant les sources produites par mes templates de Django, il y avais un décalage entre le template de base et les templates des différentes pages.

    Voici la page en question :

    <!doctype html>
    
    <html>
    	<head>
    		<title>zAppli . Tutoriels</title>
    
    		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    		
    		<link rel="stylesheet" href="/media/css/normal.css" type="text/css" media="screen" charset="utf-8" /> 
    
    		<link rel="icon" type="image/png" href="/media/images/favicon.png" />
    		
    		<script src="/media/js/jquery.js"></script>
    
    		<script src="/media/js/jquery.lightbox.js"></script>
    		<script src="/media/js/effects.js"></script>
    	</head>
    	<body>
    		<div id="logo_layout">
    			<div id="logo"></div>
    			<div id="slogan"></div>		
    		</div>
    
    		
    		<div id="menu_layout">
    			<div id="menu">
    				<a href="/equipe/" style="float: left;"><img src="/media/images/menu/equipe.png" alt="L'équipe" /></a>
    			
    				<a href="/"><img src="/media/images/menu/accueil.png" alt="Accueil" /></a>
    				<a href="/telecharger/"><img src="/media/images/menu/telecharger.png" alt="Télécharger" /></a>
    				<a href="/tutoriel/"><img src="/media/images/menu/tutoriel.png" alt="Télécharger" /></a>
    				
    				<a href="/flux/" style="float: right;"><img src="/media/images/menu/flux.png" alt="Télécharger" /></a>
    			</div>
    		</div>
    
    		
    		<div id="contenu_layout">
    			<div id="contenu">
    				<h1>Liste des tutoriels</h1>
    				
    <p>Voici la liste des tutoriels les plus récemment ajoutés.</p>
    
    <p>
    
    <a href="/tutoriel/2/aller-plus-loin-avec-qt">Aller plus loin avec Qt</a>
    
    <a href="/tutoriel/1/apprennez-a-programmer-en-c">Apprennez à programmer en C</a>
    
    </p>
    
    
    			</div>
    			<div style="height: 50px;"></div>
    		</div>
    		
    		<script>
    			
    		</script>
    	</body>
    </html>
    


    Je comprends que cela soit logique étant donné que j'inclue les blocs de templates qui ne sont pas indentés par rapport à la base.

    J'aimerai savoir s'il n'y avais pas une petite astuce Django pour résoudre cela ^^ .

    Cordialement, darkrojo.
    • Partager sur Facebook
    • Partager sur Twitter
      10 juillet 2010 à 17:26:14

      Si je ne m'abuse, ce que tu nous montre c'est le résultat généré.
      Il serait interressant de nous montrer le code générateur.
      • Partager sur Facebook
      • Partager sur Twitter
        13 juillet 2010 à 21:26:30

        Voici mes deux templates :

        <!doctype html>
        
        <html>
        	<head>
        		<title>zAppli . {% block title %}{% endblock %}</title>
        
        		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
        		
        		<link rel="stylesheet" href="/media/css/normal.css" type="text/css" media="screen" charset="utf-8" /> 
        
        		<link rel="icon" type="image/png" href="/media/images/favicon.png" />
        		
        		<script src="/media/js/jquery.js"></script>
        		<script src="/media/js/jquery.lightbox.js"></script>
        		<script src="/media/js/effects.js"></script>
        	</head>
        	<body>
        		<div id="logo_layout">
        			<div id="logo"></div>
        			<div id="slogan"></div>		
        		</div>
        		
        		<div id="menu_layout">
        			<div id="menu">
        				<a href="/equipe/" style="float: left;"><img src="/media/images/menu/equipe.png" alt="L'équipe" /></a>
        			
        				<a href="/"><img src="/media/images/menu/accueil.png" alt="Accueil" /></a>
        				<a href="/telecharger/"><img src="/media/images/menu/telecharger.png" alt="Télécharger" /></a>
        				<a href="/tutoriel/"><img src="/media/images/menu/tutoriel.png" alt="Télécharger" /></a>
        				
        				<a href="/flux/" style="float: right;"><img src="/media/images/menu/flux.png" alt="Télécharger" /></a>
        			</div>
        		</div>
        		
        		<div id="contenu_layout">
        			<div id="contenu">
        				<h1>{% block headline %}Bienvenue sur le site de zAppli{% endblock %}</h1>
        				{% block content %}{% endblock %}
        			</div>
        			<div style="height: 50px;"></div>
        		</div>
        		
        		<script>
        			{%block script %}{% endblock %}
        		</script>
        	</body>
        </html>
        

        {% extends "base.html" %}
        
        {% block headline %}Liste des tutoriels{% endblock %}
        {% block title %}Tutoriels{% endblock %}
        
        {% block content %}
        <p>Voici la liste des tutoriels les plus récemment ajoutés.</p>
        {% if derniers_tutoriels %}
        <p>
        {% for tutoriel in derniers_tutoriels %}
        <a href="{{ tutoriel.get_absolute_url }}">{{ tutoriel.titre }}</a>
        {% endfor %}
        </p>
        {% endif %}
        {% endblock %}
        


        Pour que tout soit indenté je devrais alors indenter les lignes du template tutoriel/index.html cependant je trouve ça lourd et je sais pas si django a un truc pour reprendre l'indentation ?
        • Partager sur Facebook
        • Partager sur Twitter
          10 août 2010 à 22:03:47

          Pour ma par j'avais jamais fait attention.

          Je pence que c'est fait pour montré les (incestions) dans test pages.
          • Partager sur Facebook
          • Partager sur Twitter
            11 août 2010 à 3:53:50

            A ma connaissance c'est pas possible, j'ai le même problème sur mon site Django.. :/
            • Partager sur Facebook
            • Partager sur Twitter
              12 août 2010 à 4:22:58

              Mais on s'en fout, c'est pas un problème du tout ! Au contraire même, c'est plus logique de virer l'indentation quand on génère la page, ça fait moins de données à passer dans les tuyaux quand on envoie la page au client.

              Au pire un éditeur de texte digne de ce nom vous réindente tout correctement instantanément.
              • Partager sur Facebook
              • Partager sur Twitter

              Blond, bouclé, toujours le sourire aux lèvres...

              Anonyme
                13 août 2010 à 13:33:23

                Je plussoie. Renseignez-vous pour faire des sites compacts (et aussi compressez le CSS) !
                • Partager sur Facebook
                • Partager sur Twitter

                [Django] Indentation du HTML au niveau des templates...

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown