Изменение стилей 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.