templatetags: add filter to create set (#67049)
This commit is contained in:
parent
00326aca67
commit
2444b25968
|
@ -1318,6 +1318,25 @@ def test_adjust_to_week_monday(pub):
|
|||
assert t.render({'value': datetime.datetime(2021, 6, 14, 0, 0)}) == '2021-06-14'
|
||||
|
||||
|
||||
def test_convert_as_set():
|
||||
tmpl = Template('{{ foo|set|join:","}}')
|
||||
|
||||
def render(value):
|
||||
return set(tmpl.render({'foo': value}).split(','))
|
||||
|
||||
assert render(['foo', 'foo', 'bar']) == {'foo', 'bar'}
|
||||
|
||||
def list_generator():
|
||||
yield from range(5)
|
||||
|
||||
assert render(list_generator) == set(map(str, range(5)))
|
||||
|
||||
def list_range():
|
||||
return range(5)
|
||||
|
||||
assert render(list_range) == set(map(str, range(5)))
|
||||
|
||||
|
||||
def test_iterate_days_until(pub):
|
||||
t = Template(
|
||||
'{% for day in value|iterate_days_until:value2 %}{{ day }}{% if not forloop.last %}, {% endif %}{% endfor %}'
|
||||
|
|
|
@ -947,6 +947,12 @@ def list_(value):
|
|||
return list(unlazy(value))
|
||||
|
||||
|
||||
@register.filter(name='set')
|
||||
def set_(value):
|
||||
# turn a generator into a set
|
||||
return set(unlazy(value))
|
||||
|
||||
|
||||
@register.filter(name='qrcode')
|
||||
def qrcode_filter(value, name=None):
|
||||
if not qrcode:
|
||||
|
|
Loading…
Reference in New Issue