Jinja Invalid Filter,内置过滤器

时间:2017-09-06 17:02:09

标签: python html django jinja2

我已阅读Jinja文档并使用truncate过滤器。我完全按照文档中的定义使用它。

来自文档:

  

truncate(s,length = 255,killwords = False,end ='...',leeway = None)   返回字符串的截断副本。长度由第一个指定   参数默认为255.如果第二个参数为真,则   过滤器将剪切文本的长度。否则它将丢弃最后一个   字。如果文本实际上被截断,它将附加省略号   标志(" ......")。如果你想要一个不同的省略号,而不是" ..."您可以   使用第三个参数指定它。只超过的字符串   由第四个参数给出的公差裕度的长度不会   被截断。

这是我的代码:

{% if post.replies.all %}
<ul class="accordion" data-accordion data-multi-Expand="true" data-allow-all-closed="true">
{% for reply in post.replies.all %}
        <li class="accordion-item" data-accordion>
            <a href="#" class="accordion-title">{{reply.by}}: {{reply.content|truncate(14)}}</a>
            <div class="accordion-content" data-tab-content>
                <img src="{{ reply.by.profile.img_url }}" class="thumbnail" width="50" height="50">
                <p>{{ reply.content }}</p>
            </div>
        </li>
{% endfor %}
</ul>
{% endif %}

我在测试后得到以下追溯:

enter image description here

我做错了什么?

1 个答案:

答案 0 :(得分:4)

你很简单不使用Jinja 。您使用的是Django模板语言。

Django的内置过滤器记录在案here;截断字符串的过滤器称为truncatechars。您还需要使用Django语法将参数传递给过滤器。

res <- cbind(res, c("beta1", "se", "pvalue"))
head(res)
final_results <- dcast(data = res, cpg ~ V2, value.var = "V1")[c(1, 2, 4, 3)]