#python #html #django
Вопрос:
Я включаю кнопку для разных шаблонов (и разных дивов). В одном из этих дивов должна быть подсказка, но не в других. Как я могу это сделать? Я думаю, что могу проверить класс div в кнопке (что-то вроде {% if div_class==»…»%}), но я не знаю, как это сделать. Возможно ли это? Может быть, мне нужно проверить имя шаблона или что-то еще?
first.html
<div class="single-card__favorite">
{% include 'button.html' %}
</div>
second.html
<div class="card__footer">
{% include 'button.html' %}
</div>
button.html
{% load user_filters %}
{% if author|isfavorite:user %}>
<button class="button button_style_none" name="favorites">
<span class="icon-favorite icon-favorite_active"></span>
</button>
<div class="single-card__favorite-tooltip tooltip">Delete from favorites</div>
{% else %}
<button class="button button_style_none" name="favorites" data-out>
<span class="icon-favorite"></span>
</button>
<div class="single-card__favorite-tooltip tooltip">Add to favorites</div>
{% endif %}
Комментарии:
1. На каком языке это написано? Не похоже на необработанный html.
2. я не думаю, что это чистый html, подумайте о добавлении дополнительных тегов технологий (фреймворков/библиотек/языков), которые вы используете
3. ой, это теги из Django
Ответ №1:
Вы можете передать дополнительный контекст включенному шаблону, используя with
предложение (Ссылка: документация). Таким образом, вы можете передать некоторую переменную, которая укажет, что всплывающая подсказка должна быть отображена:
first.html:
<div class="single-card__favorite">
{% include 'button.html' with tooltip="yes" %}
</div>
button.html:
{% load user_filters %}
{% if author|isfavorite:user %}>
<button class="button button_style_none" name="favorites">
<span class="icon-favorite icon-favorite_active"></span>
</button>
{% if tooltip == "yes" %}
<div class="single-card__favorite-tooltip tooltip">Delete from favorites</div>
{% endif %}
{% else %}
<button class="button button_style_none" name="favorites" data-out>
<span class="icon-favorite"></span>
</button>
{% if tooltip == "yes" %}
<div class="single-card__favorite-tooltip tooltip">Add to favorites</div>
{% endif %}
{% endif %}
Ответ №2:
Если ваши URL-адреса отличаются для каждого шаблона.
Предположим, у вас есть 2 URL-адреса:
1. domain.com/url1_bro
2. domain.com/url2_bro
Тогда вы можете сделать что-то вроде этого:
{% if 'url1' in request.path %}
<!--add tooltip html-->
{%else%}
<!--html button without tooltip-->
{%endif%}
Комментарии:
1. Что произойдет в этом случае: «domain.com/url1_bro/url2_bro» или «domain.com/url2_bro/url1_bro»?