TEMPLATETAGS
Discovering placeholders
{% placeholder "my-placeholder" %}
for node in nodelist:
# check if this is a placeholder first
if isinstance(node, Placeholder):
placeholders.append(node.get_name())
elif isinstance(node, IncludeNode):
...
placeholders += _scan_placeholders(...)
# handle {% extends ... %} tags
elif isinstance(node, ExtendsNode):
placeholders += _extend_nodelist(node)
# in block nodes we have to scan for super blocks
elif isinstance(node, VariableNode) and current_block:
...
placeholders += _scan_placeholders(...)