我的应用中有一个位于templates/mytemplate.html
的模板,我需要直接在代码中引用模板文件,将其转换为与send_mail()
一起使用的字符串。我怎样才能做到这一点?这是我尝试过的:
from django.template import loader
html_message = loader.render_to_string(
'appname/templates/mytemplate.html',
{
'username': user.name,
}
)
答案 0 :(得分:1)
如果这是您的模板设置方式,您应该只能按名称
引用它loader.render_to_string('mytemplate.html', {
'username': user.name,
})
但请注意,如果您的Django项目中有任何名称冲突(或者即使您没有),最好有一个镜像模板目录中的应用程序名称的目录。应用程序的树结构如下所示:
appname/
some_file.py
templates/
appname/
mytemplate.html
然后您只需将其引用为loader.render_to_string('appname/mytemplate.html', {...})