assets: add template tag to get URL property for CSS (#34812)

This commit is contained in:
Frédéric Péters 2019-07-14 08:24:48 +02:00
parent 34f9b6f512
commit d50ce40499
2 changed files with 19 additions and 0 deletions

View File

@ -57,6 +57,14 @@ def asset_url(*args, **kwargs):
return get_thumbnail(asset, geometry_string, **kwargs).url
@register.simple_tag
def asset_css_url(*args, **kwargs):
url = asset_url(*args, **kwargs)
if url:
return 'url(%s)' % url
else:
return 'none'
@register.assignment_tag
def get_asset(key):

View File

@ -150,20 +150,31 @@ def test_asset_template_tags():
t = Template('''{% load assets %}{% get_asset "collectivity:banner" as banner %}{% if banner %}BANNER{% endif %}''')
assert t.render(Context()) == ''
t = Template('''{% load assets %}{% asset_url "collectivity:banner" %}''')
assert t.render(Context()) == ''
t = Template('''{% load assets %}{% asset_css_url "collectivity:banner" %}''')
assert t.render(Context()) == 'none'
t = Template('''{% load assets %}{% get_asset "collectivity:banner" as banner %}{% if banner %}BANNER{% endif %}''')
Asset(key='collectivity:banner', asset=File(StringIO('test'), 'test.png')).save()
assert t.render(Context()) == 'BANNER'
t = Template('''{% load assets %}{% asset_url "collectivity:banner" %}''')
assert t.render(Context()) == '/media/assets/test.png'
t = Template('''{% load assets %}{% asset_css_url "collectivity:banner" %}''')
assert t.render(Context()) == 'url(/media/assets/test.png)'
page = Page(title='Home', slug='index', template_name='standard')
page.save()
t = Template('''{% load assets %}{% asset_url page.picture "collectivity:banner" %}''')
assert t.render(Context()) == '/media/assets/test.png'
t = Template('''{% load assets %}{% asset_css_url page.picture "collectivity:banner" %}''')
assert t.render(Context()) == 'url(/media/assets/test.png)'
page.picture = File(StringIO('test'), 'test2.png')
page.save()
t = Template('''{% load assets %}{% asset_url page.picture "collectivity:banner" %}''')
assert t.render(Context({'page': page})) == '/media/page-pictures/test2.png'
# pass image to sorl.thumbnail