在Django中的每个templatetag之后禁止换行

时间:2018-07-31 04:54:40

标签: django django-templates templatetags

我四处搜寻,但是到目前为止,找不到解决此问题的好方法,希望能为您提供帮助。 我所有的纯文本电子邮件都使用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))

0 个答案:

没有答案