我无法从模板中缩进文字。我在mainTemplate.html中使用多个 
缩进文本的开头,但是,如果文本继续到新行,则新行不缩进。所以,我一直在尝试使用过滤器来正确缩进每一行。我的模板使用{% include %}
标记来呈现并包含我尝试缩进的文本的子模板(display_citations.html)。是否可以将渲染的子模板存储为字符串,以便我可以将其传递给我的“缩进”过滤器?如果没有,是否有另一种方法来缩进该子模板的内容?
mainTemplate.html
{% for publication in value %}
{% include "software/display_citations.html" with publication=publication url="/select_citations/"%}
{% endfor %}
display_citations.html
{{ publication.authors }}. {{ publication.title }}{% if not publication.title_ends_with_punct %}.{% endif %}{% if publication.journal %} {{ publication.journal }}.{% endif %}{% if publication.month %} {{ publication.month_long }}{% endif %} {{ publication.year }}.{% if publication.volume %}{% if publication.number %} {{ publication.volume }}({{ publication.number }}){% else %} {{publication.volume}}{% endif %}{% endif %}{% if publication.pages %}: {{ publication.pages }}.{% else %}.{% endif %}
<br><a href="{{url}}{{ publication.pk }}/?ris" target="_blank" download="Citations.ris">RIS</a>
views.py
register = template.Library()
@register.filter(name='indent')
@stringfilter
def indent(value, arg=1):
import re
regex = re.compile("^", re.M)
return re.sub(regex, "\t"*int(arg), value)
我认为我需要在mainTemplate.html中做的是以某种方式从我的子模板中创建一个字符串,然后将其传递给我的过滤器......?也许是这样的事情:
text_to_be_indented = {% include "software/display_citations.html" with publication=publication url="/select_citations/"%}
{{ text_to_be_indented | indent:"4" }}
答案 0 :(得分:0)
您确定必须使用这么多
吗?为什么不尝试使用样式div
的{{1}}?