Получение списка контекстных переменных из строки
В моем приложении Django есть следующая строка: "Hello, {{ name }}. I will arrive at {{ time }}"
. Моя цель - составить список переменных, которые используются в этой строке:
def my_func():
# What should be done here ?
my_str = "Hello, {{ name }}. I will arrive at {{ time }}"
print(my_func(my_str)) # Desired output ["name", "time"]
Желаемым результатом здесь должно быть ["name", "time"]
.
В настоящее время я собираюсь реализовать это, вызывая regexp, но я чувствую, что должна быть какая-то встроенная функция для достижения этого. Есть какие-нибудь подсказки?
Вы можете использовать jinja2schema.infer
для получения списка переменных, используемых в шаблоне:
import jinja2schema
def my_func(my_str):
return list(jinja2schema.infer(my_str).keys())
my_str = "Hello, {{ name }}. I will arrive at {{ time }}"
variables = my_func(my_str)
variables
должно выглядеть так:
['time', 'name']