16 lines
503 B
Django/Jinja
16 lines
503 B
Django/Jinja
{# _macros.jinja2 #}
|
|
|
|
{% macro get_value(dict, path) -%}
|
|
{# Split the path into keys #}
|
|
{% set keys = path.split('.') %}
|
|
{% if keys and dict is mapping and keys[0] in dict -%}
|
|
{% set next_value = dict[keys[0]] %}
|
|
{% if keys | length == 1 -%}
|
|
{{ next_value | string | trim }}
|
|
{%- else -%}
|
|
{{ get_value(next_value, keys[1:] | join('.')) | string | trim }}
|
|
{%- endif %}
|
|
{%- else -%}
|
|
{{ none }}
|
|
{%- endif %}
|
|
{%- endmacro %} |