#python #django
#python #django
Вопрос:
из этого урока я хочу поместить некоторые изображения в панель навигации моего проекта Django.
Я определил context_processors.py
так:
from .models import Main_page
def get_labels_to_context(request):
labels = Main_page.objects.all()
return {
'labels': labels,
}
в Main_page
модели у меня есть 4 изображения, которые должны отображаться на панели навигации:
models.py
:
class Main_page(models.Model):
title = models.CharField(max_length=50, unique=True)
label_services = models.ImageField(upload_to='photos/pages/main_page/', blank=True)
label_products = models.ImageField(upload_to='photos/pages/main_page/', blank=True)
label_support = models.ImageField(upload_to='photos/pages/main_page/', blank=True)
label_company = models.ImageField(upload_to='photos/pages/main_page/', blank=True)
Я добавил контекстный процессор в settings.py
файл.
В шаблоне я стараюсь показывать изображения таким образом:
<a href="#!" class="view overlay z-depth-1 p-0 mb-2">
<img src="{{ labels.label_services.url }}"
class="img-fluid"
alt="Services label">
</a>
но изображения не загружаются!
есть идеи?
Комментарии:
1.Так что (всегда) будет одна
Main_page
запись?2. @WillemVanOnsem да.
Ответ №1:
нашел то, чего мне не хватало:
это labels
dict, и его следует рассматривать как один!
{% for label in labels %}
{% if label.label_services %}
<a href="#!" class="view overlay z-depth-1 p-0 mb-2">
<img src="{{ label.label_services.url }}"
class="img-fluid" alt="Services label">
</a>
{% endif %}
{% endfor %}