Нет правильного ответа на это, но я могу дать вам кое-что еще рассмотреть:
1) Неверно набранные имена переменных в шаблоне молча, поэтому я обычно стараюсь избегать таких вещей, как
{% if request.current_page.get_children.0.get_absolute_url %}
2) В отличие от этого, любые проблемы в представлении немедленно вызовут исключения и станут очевидными для отладки
first_child_url = request.current_page.get_children[0].get_absolute_url
3) То, что я иногда делаю, когда ситуация требует этого, - это добавление в модель ярлыков, которые позволяют мне вызывать метод из шаблона, но при этом сохраняя сложность на стороне уравнения Python.
Все это говорит о том, что если вы не можете добавить дополнительный контекст и вам нужно сделать это с помощью шаблонных тегов (как упомянуто в ваших комментариях), я думаю, что лучше всего, если вы выберете вариант сложного шаблона.
Я использую пользовательские теги шаблонов только тогда, когда это единственный способ что-то сделать, а не как ярлык.
Надеюсь, это поможет ....