Использование изображений в 2 разных моделях Django - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть розничный сайт, продающий несколько брендов.Каждый бренд имеет свой логотип на своей странице.Изображения логотипа в их собственной модели.

Как использовать один и тот же логотип для другой модели на странице индекса?Я хотел бы использовать те же логотипы при выделении некоторых купонов магазина на боковой панели.

В настоящее время у меня есть внешний ключ для магазина в модели IMG.

текущий код:

models.py

class Logo(models.Model):
     store = models.ForeignKey(Store, on_delete=models.CASCADE, 
     related_name="storelogo")
     image = models.ImageField(upload_to=get_image_path)

views.py

def show_store(request, slug):
    store = Store.objects.get(slug=slug)
    uploads = store.storelogo.all()

    return render(request, 'store.html', {
            'store': store,
            'products': products,
            'coupons': coupons,
            'uploads': uploads,
        })

HTML

<div class="store-logo">
    {% for logo in store.storelogo.all %}
        <img src="{{ logo.image.url }}">
    {% endfor %}
</div>

Логотип хорошо отображается на странице магазина, но я не могу отобразить его в цикле For на странице индекса.Возможно ли это?

Я мог бы добавить другую модель изображения и добавить точно такие же изображения логотипа для купонов, но, похоже, это полностью противоречит принципам СУХОЙ.Есть ли шаблоны тегов, которые я могу использовать на странице индекса, или лучше создать другую модель?

Дайте мне знать, если я что-то пропустил.Спасибо!

...