gpt4 book ai didi

python - 固定 render() 必须使用字典调用,而不是上下文,但似乎无法在模板中渲染变量,为什么? Django

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:58 25 4
gpt4 key购买 nike

我正在使用 django 中的内置电子邮件系统,但现在我收到这样的警告..

RemovedInDjango110Warning:render() 必须使用字典调用,而不是上下文

我的代码曾经是get_template(html_template).render(Context(body['ctx']))

我已经通过这样做修复了它

get_template(html_template).render({Context(body['ctx'])})

但是在我修复它之后,不知何故我无法再调用我的电子邮件模板中所需的变量。

body['ctx'] 实际上包含诸如

之类的内容
{'type': 'type1', 'field': 'field1}

之前,当我还在使用警告方式发送电子邮件时,在电子邮件模板中我可以只使用 {{type}}{{field}}但现在修复警告后,我无法再调用该变量。我尝试将代码更改为 get_template(html_template).render({'content': Context(body['ctx'])}) 这仍然不起作用,在电子邮件模板中,然后我尝试了 {{content}} 然后我会得到类似这样的 [{'False': False, 'None': None, 'True': True}, {'type': 'type1', '字段':'字段1'}]

所以我想我可以通过执行 {{ content.1.type }} 来调用类型变量,但仍然一无所获。

有人可以告诉我我可能做错了什么或者我还可以在这里尝试什么吗?

提前致谢

最佳答案

由于 body['ctx'] 已经是一个字典,因此您只需将其传递到 render() 函数即可。

get_template(html_template).render(body['ctx'])

关于python - 固定 render() 必须使用字典调用,而不是上下文,但似乎无法在模板中渲染变量,为什么? Django ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44816904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com