Django-fr

Forum

#1 08-06-2016 07:45:45

Arkhall
Membre
Inscription : 20-04-2016
Messages : 3

Affichage d'un champ dans un template

Bonjour smile

Je suis étudiant et je travaille sur un projet via Django. Malheureusement je suis sur un bug depuis deux jours dont je n'arrive pas à trouver la solution :

L'idée est d'afficher le menu d'un restaurant donné. Je suis capable d'afficher le titre du menu et ses champs, mais pas ses enfants, à savoir les éléments du menu. Du coup c'est le contenu d'une deuxième boucle for dont je n'arrive pas à faire afficher des données pourtant présentes dans la base.

J'ai déjà posté une demande d'aide sur stackoverflow ci-dessous avec tous les détails, mais sans réponses.

http://stackoverflow.com/questions/3768 … model-data

J'ai également le diagramme de classe si vous voulez voir la structure de la base de données, mais le model devrait suffire.

Dernière modification par Arkhall (08-06-2016 09:25:35)

Hors ligne

#2 08-06-2016 08:20:02

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Affichage d'un champ dans un template

Bonjour,

Je n'arrive pas à comprendre ce que tu veux faire au juste.

Hors ligne

#3 08-06-2016 08:45:40

Arkhall
Membre
Inscription : 20-04-2016
Messages : 3

Re : Affichage d'un champ dans un template

Comme tu peux le voir sur le template, j'essaie d'afficher des champs de ma base de donneés sur un <TD>, malheureusement les champs ne s'affichent pas.

Je peux faire apparaître le titre d'un menu

Voici la structure de mon tableau pour un menu (il y en aura plusieurs dans le principe)

Nom                                      Detail                     
Menu d'automne                      Entrée
                                             - Salade
                                            Plat
                                             - Steak
                                            ....

Le problème est que je n'arrive pas à faire afficher la partie Detail de mes menus. Tu as accès au model, si tu veux je peux mettre l'image de mon diagramme de classe si c'est plus parlant.

Voici le tempate en entier (je le mets pas en entier sur stackoverflow pour éviter que le topic soit trop long et ennuyeux à lire)

<h3>{% trans "My menus" %}</h3>
  <div class="table-responsive">
      <table class="table table-striped table-hover">
          <tr>
              <th>{% trans "Name" %}</th>
              <th>{% trans "Detail" %}</th>
              <th>{% trans "Action" %}</th>
          </tr>
      {% for menu in menus %}
        <tr>
            <td>
              {{menu.title}} - {{menu.validDate|date:"d.m.Y"}}
                  {% if menu.midi and menu.soir %}
                      - Midi & Soir
                  {% elif menu.midi %}
                      - Midi
                  {% elif menu.soir %}
                      - Soir
                  {% endif %}
            </td>
            <td>
            <!-- Affichage de base
            {% for paragraph in menuParagraph %}
                <td>&nbsp;&nbsp;&nbsp;<I>{{paragraph.text}}</I></td>
                {% for menuItem in menuItems %}
                    {% if menuItem.paragraph.text == paragraph.text %}
                        <td>
                            <a href="#">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{menuItem.descrShort}} ({{menuItem.menuItemId.name}})</a>
                        </td>
                    {% endif %}
                {% endfor %}
            {% endfor %} -->
              {% for menuitem in menuitems %} <!-- Affichage de chaque plat séparément  -->
                {{menuitem.descrShort}} ({{menuItem.menuItemId.name}})
              {% endfor %}
            </td>
            <td>
                <a class="edit-link" href="/b2b/partner/menu/modify/{{partnerId}}/{{menu.id}}/"><span class="glyphicon  glyphicon-pencil" aria-hidden="true" data-toggle="tooltip" data-placement="top" title="{% trans "Edit" %}"></span></a>&nbsp;|&nbsp;<a href="/b2b/partner/menu/delete/{{partnerId}}/{{menu.id}}/" onclick="return confirm('{% trans "Are you sure?" %}')"><span class="glyphicon  glyphicon-trash" aria-hidden="true" data-toggle="tooltip" data-placement="top" title="{% trans "Delete" %}"></span></a>
            </td>
        </tr>
        {% endfor %}
  </table>

Dernière modification par Arkhall (08-06-2016 08:53:51)

Hors ligne

#4 08-06-2016 13:20:30

Arkhall
Membre
Inscription : 20-04-2016
Messages : 3

Re : Affichage d'un champ dans un template

Xavier Ordoquy a écrit :

Bonjour,

Je n'arrive pas à comprendre ce que tu veux faire au juste.

Ce n'est pas un problème de clé étrangère par hasard ?

Hors ligne

#5 09-06-2016 09:44:58

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : Affichage d'un champ dans un template

La question stack overflow n'est plus disponible.
Je pense que tu cherchais à faire:

{% for paragraph in menu.menuParagraph.all %}

Hors ligne

Pied de page des forums