在神社中使用正则表达式
Using regex in jinja
我有一个 JSON 字符串,如下所示:
jsonstring = '{"key1": "comma,separated,things": "comma,separated,things", "key3": "semi;colon;separated;things"}'
我想在像这样的神社模板中使用它:
{{", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")}}
显然那没有用。
该字符串直接来自 sqlalchemy 模型,我无法从 python 对其进行处理。有没有办法做到这一点并避免使用 javascript?
处理它
首先,在Python中定义一个新函数:
def regex(jsonstring):
return ", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")
然后,将其定义为 Jinja 过滤器(在 Python 中执行此操作,必须在定义函数之后):
app.jinja_env.filters['regex'] = regex
最后,在 Jinja 模板中使用它:
{{ jsonstring|regex }}
我有一个 JSON 字符串,如下所示:
jsonstring = '{"key1": "comma,separated,things": "comma,separated,things", "key3": "semi;colon;separated;things"}'
我想在像这样的神社模板中使用它:
{{", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")}}
显然那没有用。
该字符串直接来自 sqlalchemy 模型,我无法从 python 对其进行处理。有没有办法做到这一点并避免使用 javascript?
处理它首先,在Python中定义一个新函数:
def regex(jsonstring):
return ", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")
然后,将其定义为 Jinja 过滤器(在 Python 中执行此操作,必须在定义函数之后):
app.jinja_env.filters['regex'] = regex
最后,在 Jinja 模板中使用它:
{{ jsonstring|regex }}