Как рендерить шаблоны с помощью jinja2, используя json в python? - PullRequest
1 голос
/ 17 июня 2020

Я пытаюсь напрямую загрузить json данные для рендеринга шаблонов с помощью jinja2, и у меня проблемы с этим без значений жесткого кодирования. Например,

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

Здесь я жестко запрограммировал переменную «posts», которая существует в моем json файле, а «config» - это просто python dict, что я загрузил json данные в. Вот фрагмент файла json:

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

Если «сообщения» были названы как-то иначе, как бы я отразил это в моем коде python? Следует ли мне изменить имена переменных, записанные в моем файле шаблона?

Спасибо

1 Ответ

1 голос
/ 17 июня 2020

Я придумал решение. Я использовал kwargs:

for x in config[0]['context']:
        msg = template.render(**{x:config[0]['context'][x]})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...