Django 1.6 - 如何在模板中缩短显示的文本?

3
如何在Django中缩短文本?举个例子:

我有这段文本:

 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

我想要得到:

Lorem ipsum dolor sit amet, consectetur adipisicing elit(更多)

其中“(更多)”是一个链接,用于显示完整的文本。

有人可以帮助我吗?非常感谢!

2个回答

3

您尝试过使用模板标签truncatechars吗?

{{ value|truncatechars:[number to truncate chars after] }}

查看如何处理(更多)部分这里

如果你想要链接持久存在而不仅仅是悬停,你可能需要使用javascript来操作你的DOM。


more链接怎么样? - alecxe
你可以自己完成这个操作,它非常简单。在模板标签之后放置文本(更多),然后使用CSS进行操作。 - deweyredman
你需要的主要是truncatechars方法... 当你将鼠标悬停在元素上时,你可以添加一个:hover属性来显示完整的文本... - deweyredman
类似这样的:http://jsfiddle.net/SLs7q/。我很快地完成了它,只是为了证明概念,并且我建议按照我所做的方式来做,但是思路已经在那里了。 - deweyredman
您需要使用上面的模板标签替换“sir”,并将“extra text to be displayed”替换为被截断的变量的其余部分。 - deweyredman

0

确保15(这是任意的)大于您要切片的数字:

{% if value|length > 15 %}
    {{ value|slice:"-6" }}<a href="#">(more)</a>
{% else %}
    {{ value }}
{% endif %}

嗯,我想这也说得通。你和我的解决方案唯一不同的是,我的会写成:文本...(更多)而你的则没有省略号。 - deweyredman
另外,href链接指向什么? - deweyredman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接