Здравствуйте, замечательные люди!
Я создаю панель инструментов для своего веб-сайта, в левой части у меня есть меню, содержащее несколько элементов: Home
, Messenger
, Job Offers
....
При создании учетной записи пользователи могут выбирать свои элементы, повторно заказать или удалить.
У меня есть модели Menu
и Item
,
class Menu(models.Model):
items = models.ManyToManyField('Item',blank=True)
class Item(models.Model):
name = models.CharField(max_length=100)
unique_key = models.CharField(max_length=100,unique=True)
url = ......
Для меню пользователя в моем base_template
я отображаю элементы текущих пользователей с помощью цикла for. С помощью класса CSS я хочу выделить текущее представление, текущий элемент.
Когда пользователь посещает свой мессенджер, я хочу выделить этот элемент мессенджера с помощью класса CSS.
<ul>
{% for item in user.menu.items.all %}
<li class='{% block item.unique_key %}{% endblock %}'>
<a href="{{item.url}}"> {{item.name}}</a>
</li>
{% endfor %}
</ul>
Теперь, находясь, например, в messenger.html
, зная, что у меня есть unique_key
мессенджер под названием item_messenger
, я
{% block 'item_messenger' %}active{% endfor%}
Не работает, пункт Messenger
или что я выбираю не подсвечивается, интересно почему? Есть ли другой способ добиться этого?
Любая подсказка будет полезна, заранее спасибо!
<li class="{% if active_key == item.unique_key %}active{% endblock %}">
- person Daniel Roseman   schedule 01.06.2018<li class = '{% block item_name %} {% endblock %}'>
. А затем вверху каждой страницы я добавляю{% block item_name %} active {% endblock %}
. У меня уже есть все страницы с тегомblock
вверху, поэтому мне пришлось делатьblock
в цикле. То, как вы мне показываете, я уже думал, но для этого мне потребуетсяactive_key
в качестве переменной контекста в каждом представлении; У меня много просмотров. - person   schedule 01.06.2018