我四处搜寻,但是到目前为止,找不到解决此问题的好方法,希望能为您提供帮助。 我所有的纯文本电子邮件都使用django模板语言,并且每个templatetag都要附加换行符,这非常不方便。尽管它允许我使用格式良好的模板,但渲染的文本包含多行换行符,除非我通过在templatetags之后删除新行使模板变丑,否则我将无法控制这些换行符。请注意,我正在使用它进行文本呈现,并且任何“无空格”在这里都无法使用。
示例:
email1.txt
{%load i18n%}
{%with name=something.somethingelse.name%}
Hello {{name}},
{%endwith%}
Hope you are well.
render_to_string("email1.txt",context)
输出将是:
<line break>
<line break>
Hello Someone,
<line break>
<line break>
Hope you are well.
我的最后一招是手动将模板读入字符串中,在将新行传递给渲染之前进行正则表达式剥离,以使我喜欢这两个世界,但我想知道是否有人有更好的主意。
with open('email1.txt') as fd:
eml1 = fd.read()
eml1 = re.sub(r'%}[ \t]*\n', '%}', eml1)
Template(eml1).render(Context(context))