Django: как вызвать «содержит» функцию в шаблоне? - PullRequest
0 голосов
/ 27 февраля 2019

Мне нужно знать, как использовать contains в шаблоне Django.

Я хочу сделать что-то вроде этого:

В поле зрения:

my_query = MyClass.objects.filter(key=value).my_var

И в шаблоне вроде:

{% if my_query contains 'X' %}
    <p>My var contains an X</p>
{% endif %}
{% if my_query contains 'Y' %}
    <p>My var contains a Y</p>
{% endif %}

Другой способ, который я уже знаю, будет путем проверки в представлении:

my_query_X = MyClass.objects.filter(my_var__contains='X').exists()
my_query_Y = MyClass.objects.filter(my_var__contains='Y').exists()

Тогда в шаблоне:

{% if my_query_x == True %}
    <p>My var contains an X</p>
{% endif %}
{% if my_query_y == True %}
    <p>My var contains a Y</p>
{% endif %}

НоЯ не хочу использовать эту последнюю опцию, поскольку для этого потребуется больше запросов.

1 Ответ

0 голосов
/ 27 февраля 2019

Вы можете использовать in:

{% if 'X' in my_query %}
    <p>My var contains an X</p>
{% endif %}
{% if 'Y' in my_query %}
    <p>My var contains a Y</p>
{% endif %}
...