Шаблон Django не возвращает список объектов из модели

#python #django

#python #django

Вопрос:

У меня проблема с моим проектом Django. Я хочу, чтобы шаблон получал объекты из базы данных и перечислял их, но шаблон не возвращает объекты. Мои сценарии проекта следующие.

Это мой файл models:

 class Dog(models.Model):
    breed = models.CharField(max_length=100)
    name = models.CharField(max_length=100)
    age = models.FloatField(default=0.5)
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.breed
  

Это мой файл views:

 def dog(request):
    context = {

        "dog_list": Dog.objects.all()
    }


    return render(request, 'dog.html', context)
  

Это мой HTML-файл:

 <!DOCTYPE html>

<html>
    <head>
        <title> Welcome to Dog sharing platform</title>
    </head>
    <body>
        <h2> Dog types </h2>
    <div>
        <ul>
        {% for x in dog_list %}
            <li>{{x.dog_list}}</li>
        {% endfor %}
        </ul>
    </div>
    </body>
</html>
  

Когда я запускаю server, эта страница возвращает страницу, которая показывает типы Dog и пустой список

Заранее спасибо

Ответ №1:

dog_list это список элементов Dog. Однако у каждого Dog нет атрибута dog_list ; у него есть breed , name и т.д. Поэтому вам нужно использовать эти атрибуты:

    {% for x in dog_list %}
        <li>{{ x.breed }}</li>
   {% endfor %}