django - 使用 Context 将变量传递给模板
问题描述
在获取要传递给模板的变量时遇到问题,示例如下:
def confirm(request, reference):
c = {'return_reference': reference}
msg_plain = render_to_string('mail.txt', c)
msg_html = render_to_string('mail.html')
send_mail(
'Return - Ready for Collection',
msg_plain,
'some@sender.com',
['some@receiver.com'],
html_message=msg_html,
)
还有我的 HTML 模板:
<p>Return reference <strong>{{ return_reference }}</strong>....
无论如何,此结果在返回参考中始终为空白/ null ...任何帮助将不胜感激。
解决方案
您忘记将上下文传递给您的msg_html
render_to_string
我建议您生成 html 消息,然后使用 html2text 从那里生成普通消息,如下所示:
from html2text import html2text # import html2text module
def confirm(request, reference):
c = {'return_reference': reference}
msg_html = render_to_string('mail.html', c) # render html message
msg_plain = html2text(msg_html) # create plain message variant
send_mail(
'Return - Ready for Collection',
msg_plain,
'some@sender.com',
['some@receiver.com'],
html_message=msg_html,
)
推荐阅读
- sql - 是否可以创建两个具有不相交标识符的表?
- java - 每个布尔真组合的新线程
- java - 更新数据库和java中的子行时出错
- r - 箭头 open_dataset (R) 中的性能缓慢
- javascript - javascript aes文件结果输入类型readAsDataURL()正确的url格式可以在浏览器中显示
- javascript - 为什么这个属性在角度中显示为未定义?
- c - 在 C 中,有没有办法将 void 指针转换为定义的大小类型?
- java - json解析错误发布数据spring boot mysql
- react-native - ios15模拟器无法打开expo
- c# - Unity中逐渐增加变量,变量不断恢复