Полагаю, сегодня утром я немного дремучий. Проблема в том, что some_custom
принимает параметр, в котором есть ссылка на встроенную переменную? Или вы хотите, чтобы параметр до some_custom
был разрешен до его передачи (что является более общей ситуацией)?
Если это последний случай, проверьте Expr templatetag . С этим вы можете сделать что-то вроде:
{% expr "this_"+is.a.test as some_string %}
{% some_custom some_string param %}
Обновление для комментария:
Поскольку это для {% extends %}
, который, как вы правильно указали, должен быть самой первой строкой в файле, просто установите переменную в своем представлении, например, my_custom_template = "this_"+is.a.test+".html"
и передать его в контексте. Тогда в своем шаблоне вы можете сказать {% custom_extends my_custom_template %}
и все готово.
Конечно, это предполагает, что ваш тег custom_extends
имеет переменное разрешение, как обычный тег extends
, но это легко добавить в ваш код. См. django/template/loader_tags.py
, ExtendsNode.get_parent()
о том, как код ядра делает это.