Это первый раз, когда я буду реализовывать представление на основе классов в реальном проекте, но данные не отображаются в шаблоне.
<div class="container">
<h4 class="heading-decorated text-center mt-5">Our Volunteers</h4>
{% for volunteer in volunteers %}
<div class="row row-30 text-center mb-5">
<div class="col-sm-6 col-md-3">
<figure class="box-icon-image"><a href="#"><img class="rounded" src="{{volunteer.volunteer_image.url}}" alt="" width="126" height="102"/></a></figure>
<p class="lead">{{volunteers.volunteer_name}}</p>
</div>
</div>
{% endfor %}
</div>
Views.py
class VolunteerListView(ListView):
model = Volunteers
context_object_name = 'volunteer'
template_name = 'add_my_language/home.html'
Models.py
class Volunteers(models.Model):
volunteer_image = models.ImageField(upload_to='media/volunteers')
volunteer_name = models.CharField(max_length=255, blank=False)
def __str__(self):
return self.volunteer_name
Я что-нибудь пропустил?
2 ответа
Я выяснил, что мои модели для домашней страницы были отдельными, поэтому данные не показывались. Как только я объединил все модели для домашней страницы, мой ответ выше сработал.
Пока это представление выполняется, self.object_list будет содержать список объектов (обычно, но не обязательно набор запросов), с которыми работает представление.
ListView:
class VolunteerListView(ListView):
model = Volunteers
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
# extra context goes here
return context
Шаблон
<h1>Volunteers</h1>
{% for volunteer in object_list %}
<p class="lead">{{volunteers.volunteer_name}}</p>
{% endfor %}
Дополнительная литература
Общие представления дисплея Официальные документы Django
Похожие вопросы
Новые вопросы
django
Django - это серверная платформа веб-приложений с открытым исходным кодом, написанная на Python. Он разработан для сокращения усилий, необходимых для создания сложных веб-сайтов и веб-приложений, управляемых данными, с особым упором на меньшее количество кода, отсутствие избыточности и более явное, чем неявное.