相对模板导入

时间:2017-03-23 02:04:43

标签: python django

我的应用中有一个位于templates/mytemplate.html的模板,我需要直接在代码中引用模板文件,将其转换为与send_mail()一起使用的字符串。我怎样才能做到这一点?这是我尝试过的:

from django.template import loader

html_message = loader.render_to_string(
            'appname/templates/mytemplate.html',
            {
                'username': user.name,
            }
        )

1 个答案:

答案 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', {...})