繁体   English   中英

如何在 python 中使用 json 使用 jinja2 渲染模板?

[英]How to render templates with jinja2 using json in python?

我正在尝试使用 jinja2 直接加载 json 数据以呈现模板,并且在没有硬编码值的情况下我无法这样做。 例如,

msg = template.render(posts=config[0]['context']['posts'])

在这里,我已经硬编码了存在于我的 json 文件中的变量“posts”,“config”只是一个 python 字典,我已经将 json 数据加载到其中。 这是 json 文件的片段:

[
  {
    "url": "/",
    "template": "index.html",
    "context": {
      "logname": "gjgk",
      "posts": [
        {
          "postid": "3",
          "owner": "ggkghj",
          "likes": 1,
          "comments": [
            {
              "owner": "dsf",
              "text": "#sadf"
            }
          ]
        }
]

如果“帖子”被命名为其他名称,我将如何在我的 python 代码中反映这一点? 我应该更改模板文件中写入的变量名称吗?

谢谢

我想出了解决方案。 我使用了 kwargs:

for x in config[0]['context']:
        msg = template.render(**{x:config[0]['context'][x]})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM