diff --git a/publik_django_templatetags/wcs/templatetags/wcs.py b/publik_django_templatetags/wcs/templatetags/wcs.py index f7e277e..a9ea314 100644 --- a/publik_django_templatetags/wcs/templatetags/wcs.py +++ b/publik_django_templatetags/wcs/templatetags/wcs.py @@ -21,7 +21,10 @@ register = template.Library() @register.filter def objects(cards, slug): - return getattr(cards, slug).objects + try: + return getattr(cards, slug).objects + except AttributeError: + return None @register.filter diff --git a/tests/test_wcs.py b/tests/test_wcs.py index f9d1fd4..da4400f 100644 --- a/tests/test_wcs.py +++ b/tests/test_wcs.py @@ -110,6 +110,12 @@ def test_objects(mock_send, settings, context, nocache): t.render(context) assert mock_send.call_args_list[0][0][0].url.startswith('http://127.0.0.3:8999/api/cards/bar/list?') + context = Context({}) # no cards in context + mock_send.reset_mock() + t = Template('{{ cards|objects:"bar" }}') + t.render(context) + assert mock_send.call_args_list == [] + @mock.patch('requests.Session.send', side_effect=mocked_requests_send) def test_with_custom_view(mock_send, context, nocache):