Изменение стилей CSS из представления в Django

Простите, если это очевидный вопрос, я новичок в django и все еще учусь. Я создаю сайт, который содержит в общей сложности 6 изображений. Изображения на сайте должны оставаться невидимыми, пока id изображения не будет передан из views.py.

У меня есть шаблонная страница index.html и представление, которое загружается при обращении к этому url localhost/imageid

Теперь мне нужно сделать изображение видимым при каждом обращении к его url. Например, если пользователь заходит на localhost/1, QR-код 1 должен быть виден. Я также сохраняю состояние всех изображений доступа. Таким образом, если пользователь снова зайдет на сайт и перейдет на localhost/2, он должен сделать видимыми изображения 1 и 2. Для хранения состояния я использую сессии. Мне просто нужен способ сделать изображения видимыми.

Спасибо тебе

Зависит, поэтому базовый вид будет таким:

from django.views.generic import TemplateView

class MyView(TemplateView):
    template_name = 'my_html.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['img_id'] = self.kwargs.get('pk')  # this is whatever the variable is named in the URL.
        return context

html будет выглядеть примерно так:

<body>
    {%if img_id == 1 %}
        <img src="image1path">
    {%elif img_id == 2 %}
        <img src="image2path">
    {% endif %}
</body>

Лучшим способом было бы хранить изображения в базе данных и получать пути к изображениям из модели, затем получить это в контексте и ссылаться на это в шаблоне вместо операторов if.

Вернуться на верх