在jinja2的列表中为每个字符串添加配额?

Han*_*Sun 8 python template-engine jinja2

Python中的变量:

names = ["a", "b"]
Run Code Online (Sandbox Code Playgroud)

我目前在Jinja2模板中写的内容:

c({{ names | join(",") }})
Run Code Online (Sandbox Code Playgroud)

我使用上面的模板获得了什么:

c(a, b)
Run Code Online (Sandbox Code Playgroud)

但是,我真正需要的是:

c("a", "b")
Run Code Online (Sandbox Code Playgroud)

我检查了Jinja2的文档但没有找到过滤器来执行此操作.有没有人对Jinja2有这个想法?

Han*_*Sun 8

使用jinja2的自定义过滤器:

def surround_by_quote(a_list):
    return ['"%s"' % an_element for an_element in a_list]

env.filters["surround_by_quote"] = surround_by_quote
Run Code Online (Sandbox Code Playgroud)