相对模板Imp

2024-05-19 10:53:45 发布

您现在位置:Python中文网/ 问答频道 /正文

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

from django.template import loader

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

Tags: 文件django字符串代码fromimportsend模板
1条回答
网友
1楼 · 发布于 2024-05-19 10:53:45

如果你的模板就是这样设置的,你应该可以通过名字来引用它

loader.render_to_string('mytemplate.html', {
    'username': user.name,
})

但是,请注意,如果Django项目中存在任何名称冲突(或者即使没有冲突),最好在templates目录中有一个镜像应用程序名称的目录。应用程序的树结构如下所示:

appname/
    some_file.py
    templates/
        appname/
            mytemplate.html

那么您只需将其引用为loader.render_to_string('appname/mytemplate.html', {...})

相关问题 更多 >

    热门问题