проверить наличие в списке шаблонов django - PullRequest
20 голосов
/ 20 сентября 2011

Я хочу проверить, принадлежит ли значение списку в шаблоне django. Как то так

{% if значение в ['Pass', 'Fail']%}

Как мне этого добиться?

Ответы [ 4 ]

37 голосов
/ 20 сентября 2011

Я не думаю, что вы можете определить список непосредственно в шаблоне.Вы можете передать список шаблону и сделать

{% if value in my_list %}

Например:

{% if name in 'foo,bar' %}
    bla
{% endif %}

В качестве альтернативы вы можете написать тег шаблона, который принимает параметры, подобные следующим:

{% ifinlist value "val1,val2,val3" %}
6 голосов
/ 24 января 2018

Django Шаблон:

{% value|ifinlist:"val1,val2,val3" %}

Шаблон тега:

from django import template

register = template.Library()

@register.filter(name='ifinlist')
def ifinlist(value, list):
    return True if value in list else False
2 голосов
/ 19 июня 2018

Вы можете написать условие if как

{% if значение в 'Pass, Fail'%}

Нет необходимости в теге шаблона или списке из бэкэнда

0 голосов
/ 20 апреля 2019

Как передать список вашему шаблону?Я лично использую атрибут extra_context в общих представлениях, таких как:


class MyObjectDetailView(DetailView):
    model = MyObject
    template_name = "path/to/object_detail.html"
    extra_context = {'DISABLED': [model.ACCEPTED, model.REFUSED]}

Затем в моем шаблоне, например, чтобы отключить btn:


<input class="btn"{% if object.status in DISABLED %} disabled="disabled"{% endif %}">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...