我正在使用模板将电子邮件发送给插件(django-templated-mail),并将电子邮件内容通过数据库从数据库传递到模板,例如:
{{ context.emailtitle }}
{{ context.main_text }}
我想在main_text数据库条目中包括其他字段标签,以便例如可以将用户名放在电子邮件中
Your name is {{ user.name }}
是否可以在数据库文本中包含另一个字段名称,以便呈现它,还是我在考虑这个错误?
我已经尝试了上述方法,输出的是“您的名字是{{user.name}}”,而不是“您的名字是John”
谢谢!
答案 0 :(得分:0)
没有直接映射,但是没有什么可以避免您呈现此模板文本。例如:
from django.template import Template, Context
template_text = 'Your name is {{ user.name }}'
user = Users.objects.first() # we pick some user for demo purposes
template = Template(template_text)
ctx = Context({'user': user})
result = template.render(ctx) # result is 'Your name is Cam'
因此,我们可以在这里自己进行渲染过程,并将渲染的输出传达给某些工具,响应等。
这或多或少是发生在您执行render_to_response
调用时发生的情况:从文件中加载模板文本,然后使用上下文和请求呈现模板,并将输出包装在HTTP响应中