Как получать объекты в index.html из панели администратора?

#django #django-models #django-views #django-forms

Вопрос:

Все объекты были успешно сохранены в панели администратора, но не получают динамические данные в index.html страница с панели администратора.

 **views.py**
from django.shortcuts import render
from .models import home
# Create your views here.


def home(request):
    homeobject = home.objects.all()
    return render(request, 'index.html', {'homes': homeobject})

**models.py**
class home(models.Model):
    HOME_CATEGORY = [
        ('SR', 'Service'),
        ('VL', 'Vlog'),
        ('CR', 'course'),
    ]
    title = models.CharField(max_length=120)
    description = models.TextField()
    image = models.ImageField(upload_to='images')
    home_category = models.CharField(max_length=2, choices=HOME_CATEGORY)





**index.html**
 {% for home in homes %}
  {{home}}
  {% endfor %}
 

Ответ №1:

имя вашей функции представления определяется как home , а ваша модель называется home

вы определяете home как функцию, поэтому, когда вы переходите к доступу home.objects , python видит не вашу модель home , а функцию home

Измените имя класса модели с home на Home и выполните миграцию — миграция . Также не забудьте изменить запрос Home.objects.all()

index.html

 {% for home in homes %}
   <h1> {{home.title}} </h1>
   <p> {{home.description}} </p>
   <img src={{home.image.url}} />
{% endfor %}
 

Комментарии:

1. не решена,ошибка в том, что объект «функция» не имеет атрибута «объекты»

2.Измените название модели на class Home(models.Model): и попробуйте . Также не забудьте отредактировать homeobject = Home.objects.all() и python manage.py makemigrations python manage.py migrate