2

我正在使用 cookiecutter 为 Reveal.js 演示文稿创建一个项目模板(仅用于上下文)。

一个给定的template有多个themes可以选择,但所有模板的主题列表都不相同。

有没有办法根据template_name选择来修改主题列表?

不是有效的 json,但可以说明:

{
  "template_name": ["default", "brand"],
  "theme_name": ["default", "dark", "blue"], # if template_name == "default"
  "theme_name": ["magenta"] # if template_name == "brand"
}

任何其他建议来实现这一点表示赞赏。谢谢!

4

1 回答 1

2

您可以将“switch”元素设为字典而不是列表。

dct = {
"template_name": {"default":"theme1", 
"brand":"theme2"},
"theme1": ["default", "dark", "blue"],
"theme2": ["magenta"]
}

print(dct[dct["template_name"]["default"]])
print(dct[dct["template_name"]["brand"]])

输出:

['default', 'dark', 'blue']
['magenta']
于 2020-11-24T20:07:08.237 回答