从字符串中获取上下文变量列表



我有以下字符串在我的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']

相关内容

  • 没有找到相关文章

最新更新