我有一个JSON字符串,如:
jsonstring = '{"key1": "comma,separated,things": "comma,separated,things", "key3": "semi;colon;separated;things"}'
我希望在jinja模板中使用它,如:
{{", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")}}
显然那不起作用。
字符串直接来自sqlalchemy模型,我无法从python中处理它。有没有办法做到这一点,避免用javascript处理它?</ p>
答案 0 :(得分:3)
首先,在Python中定义一个新函数:
def regex(jsonstring):
return ", ".join(re.findall(r'": "(.*?)"',jsonstring)).replace(";",",")
然后,将其定义为Jinja过滤器(在Python中执行此操作,必须在定义函数后):
app.jinja_env.filters['regex'] = regex
最后,在Jinja模板中使用它:
{{ jsonstring|regex }}