问题1:
所以我正在为Django中的电子邮件模板工作。我的电子邮件中有一个表格,我需要将格式放入表格的每一行,因为有些电子邮件客户端要求所有CSS样式都是内联的。所以我创建了一个模板来实现表格行,并且我每行都用with
调用它。
行模板
<tr style="blahblah">
<td>{{ description}}</td>
<td>{{ value}}</td>
</tr>
然后我可以像这样调用模板
{% include 'included_template.html description=some_context_var value=some_other_var %}
一切都是正确的,直到我需要一个上下文变量以外的东西进入其中一个表格单元格。在我的例子中,我需要以日期格式重新格式化DateTimeField,如下所示:
{{ create_date| date:"N j, Y" }}
上述工作正常,但当我这样做时:
{% include "included_template.html" with description="Date:" value=create_date| date:"N j, Y" %}
我收到错误:
django.template.base.TemplateSyntaxError: Could not parse the remainder: '|' from 'invoice.create_date|'
问题2:
我还有一些情况,我想在其中一个单元格中组合多个值,例如:
Hi {{first_name}} {{last_name}}
有什么方法可以回复父模板来渲染一个正文,或者在模板中组合我需要的变量来传递给包含的模板?我可以将所有这些内容添加到上下文中,但它并不适合我,特别是因为我需要的日期格式函数似乎在python端不可用。
答案 0 :(得分:1)
问题1:
虽然这有效:
user.activated
实际应该是这样的(请注意,{{ create_date| date:"N j, Y" }}
之前已删除空格):
date
通过此更改,以下内容现在可以正常工作:
{{ create_date|date:"N j, Y" }}
问题2:
您可以使用Django的built-in template tags
{% include "included_template.html" with description="Date:" value=create_date|date:"N j, Y" %}
一个警告:如果你对两个号码使用{% with full_name=first_name|add:" "|add:last_name %}
Hi {{ full_name }}
{% endwith %}
,你将获得总和,而不是连接。