Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    octobre 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : octobre 2016
    Messages : 21
    Points : 12
    Points
    12

    Par défaut [django] query arrive vide (résolu)

    Bonjour, j'espère que je poste au bon endroit j'ai pas trouvé de forum django.

    Désolé si ma question est idiote mais je débute un peu en programmation.
    je ne comprends pas trop mon problème... Je fais une commande qui reviens souvent dans mon code et qui fonctionne dans le shell. Mais qui arrive vide dans le template.

    j'appelle mon modèle par "tof=Photo.objects.all()" dans mon views..et il arrive vide dans mon lire.html... Pourquoi? Il y a un coquille de type virgule manquante ou bien un url que je dois ajouter quelque part? Pffff une journée que je triture mon code pour le même résultat..

    fonctionne dans le shell
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    >>> tof=Photo.objects.all()
    >>> for donnee in tof :
    ...     print (donnee.titretof)
    ... 
    1
    une butte
    basilic menthe
    basilic vue de loin
    buttes2
    >>> for donnee in tof :
    ...     print (artsource.id)
    ... 
    Traceback (most recent call last):
      File "<console>", line 2, in <module>
    NameError: name 'artsource' is not defined
    >>> for donnee in tof :
    ...     print (donnee.artsource.id)
    ... 
    3
    3
    4
    4
    3
    >>> for donnee in tof :
    ...     print (donnee.tof)
    ... 
    photos/1_1_H27xyoj.jpg
    photos/1_2_SyQTf5o.jpg
    photos/2_1_HqJS48v.jpg
    photos/2_2_lnIilc4.jpg
    photos/1_3.jpg
    mon views.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    from django.http import Http404
    from django.shortcuts import render, get_object_or_404
    from art.models import Art, Photo
    import os
     
    def accueil(request):
     
        articles = Art.objects.all() 
        return render(request, 'art/accueil.html', {'derniers_articles': articles})
     
     
    def lire(request, id):
        article = get_object_or_404(Art, id=id)
        tof=Photo.objects.all()
        return render(request, 'art/lire.html', {'article':article}, {'lestof' : tof})
    lire.html
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <h1>{{ article.titre }} <span class="small"></span></h1>
    <p class="infos">Rédigé par {{ article.auteur }}, le {{ article.date|date:"DATE_FORMAT" }}</p>
    <div class="contenu">{{ article.contenu|linebreaks }}</div>
    <h1>Les tofs</h1>
    {% for  donnee in lestof %}
        <h2>{{ donnee.titretof }}</h2>
     
    {% empty %}
        <p>Aucune photo</p>
    {% endfor %}
    {% load static %}
    <img src="{% static 'blogPerma/1_3.jpg' %}" alt="Mon image" />

    merci..

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Développeur python
    Inscrit en
    juillet 2006
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur python
    Secteur : Santé

    Informations forums :
    Inscription : juillet 2006
    Messages : 2 764
    Points : 4 587
    Points
    4 587

    Par défaut

    La ligne 15 dans views.py est fausse,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {'article': article, 'lestof': tof}
    il ne faut qu'un seul dictionnaire avec ses clés et ses valeurs, et non plusieurs dictionnaires comme tu le présentes dans ton code.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    octobre 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : octobre 2016
    Messages : 21
    Points : 12
    Points
    12

    Par défaut

    merci mille fois.............

Discussions similaires

  1. Réponses: 10
    Dernier message: 28/06/2018, 14h34
  2. Réponses: 8
    Dernier message: 20/03/2018, 00h28
  3. Réponses: 2
    Dernier message: 09/09/2015, 15h19
  4. Comment ne pas afficher un champs vide dans un template
    Par altair8080 dans le forum AngularJS
    Réponses: 3
    Dernier message: 18/05/2015, 21h33
  5. Afficher des row vides dans une query
    Par ArchVector dans le forum SQL
    Réponses: 2
    Dernier message: 12/03/2010, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo