Django templates 从字符串而不是文件加载模板

Django templates 从字符串而不是文件加载模板,django-templates,Django Templates,我已决定将所有系统电子邮件的模板保存在数据库中。 这些电子邮件的正文是普通的django模板(带有标签) 这意味着我需要模板引擎从字符串而不是文件加载模板。有没有办法做到这一点?实例化一个,传递字符串作为模板使用。为了补充Ignacio Vazquez Abrams的内容,下面是我用来从字符串获取模板对象的代码片段: 来自django.template导入引擎,TemplateSyntaxError 从字符串定义模板字符串(模板字符串,使用=None): """ 将字符串转换为模板对象, 使用给

我已决定将所有系统电子邮件的模板保存在数据库中。 这些电子邮件的正文是普通的django模板(带有标签)

这意味着我需要模板引擎从字符串而不是文件加载模板。有没有办法做到这一点?

实例化一个,传递字符串作为模板使用。

为了补充Ignacio Vazquez Abrams的内容,下面是我用来从字符串获取模板对象的代码片段:

来自django.template导入引擎,TemplateSyntaxError
从字符串定义模板字符串(模板字符串,使用=None):
"""
将字符串转换为模板对象,
使用给定的模板引擎或使用默认后端
如果未指定引擎,则从settings.TEMPLATES。
"""
#此函数基于django.template.loader.get_模板,
#但是使用Engine.from_字符串而不是Engine.get_模板。
链=[]
engine_list=engines.all()如果使用的是None-else[引擎[使用]]
对于发动机列表中的发动机:
尝试:
返回引擎。从\u字符串(模板\u字符串)
模板语法错误除外,如e:
链.附加(e)
提升模板语法错误(模板字符串,链=链)

engine.from\u string
方法将实例化一个
django.template.template
对象,将
template\u string
作为其第一个参数,使用
settings.TEMPLATES
中的第一个后端不会导致错误。

使用django模板和上下文在>=django 3上为我工作

from django.template import Template, Context

template = Template('Hello {{name}}.')
context = Context(dict(name='World'))
rendered: str = template.render(context)

这将不使用在
设置.模板['backend']
中配置的后端,但始终使用Django的模板系统。有没有办法从配置了后端的字符串中创建模板?从设置中获取后端,查找要使用的模板()(具有映射或内省)并实例化它。