ruchej
@ruchej
Конструктор мебели. Пишу макросы для К3-Мебель

Как работать с объектом модели в шаблоне?

В models.py имею модель Images.
Во вьюшке импортирую эту модель и передаю через переменную images в шаблон
from app_main.models import Catalogue, FurnitureProduct, Images
.....
def catalog_view(request, catalog_id):
    ......
    images = Images
    contex_var = {.... 'images': images}
    return render(request, template_name, contex_var)

В шаблоне пытаюсь получить данные так же, как это получил бы в питон функции, т.е. images.objects.get(pk=5).imagepath, но парсер выдаёт ошибку.
Как работать с таким объектом в шаблоне?
Или проще говоря, как из этой таблице вытягивать данные?
  • Вопрос задан
  • 240 просмотров
Пригласить эксперта
Ответы на вопрос 3
Если вы пытаетесь делать выборку данных из БД в шаблоне - это первый звоночек о том, что вы делаете неправильно. MVC не зря разделяет данные, логику и представление.
Какая конкретно задача стоит?
Ответ написан
petermzg
@petermzg
Самый лучший программист
Шаблон для того чтобы в него просто подставить данные, вся логика должна быть на уровне контроллера.
В контроллере получите все необходимые вам данные и затем уже передавайте их в шаблон.
Ответ написан
Комментировать
ruchej
@ruchej Автор вопроса
Конструктор мебели. Пишу макросы для К3-Мебель
Всех благодарю!
Хороший был совет данные готовить в методе модели.
В models.py модели FurnitureProduct добавил метод
def get_images_path(self):
        im_path = []
        imobj = Images.objects.filter(furnproduct_id=self.pk)
        if imobj:
            for obj in imobj:
                im_path.append(obj.imagepath.url)
        return im_path

И в шаблоне получаю список значений методом: {{ product.get_images_path }}
Я новичок, мне и в голову такое не пришло.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы