截断 Django CMS 占位符
Posted
技术标签:
【中文标题】截断 Django CMS 占位符【英文标题】:Truncate Django CMS Placeholder 【发布时间】:2013-10-08 11:10:21 【问题描述】:我正在创建自己的 Django CMS 博客插件。我正在使用占位符来保存博客条目的全部内容,并且我正在尝试弄清楚如何从该占位符中自动创建摘录。
如果它只是一个文本字段,我知道我可以在模板中使用“|truncatechars:15”,但我不知道如何为占位符执行此操作。
我可以在模板或“views.py”中使用什么来截断占位符吗?
提前致谢。
【问题讨论】:
【参考方案1】:如您所见,您不能截断占位符,因为占位符的工作只是呈现添加到其中的内容插件。
您唯一可行的选择是截断插件渲染模板中的字段,或者在模型上添加一个单独的字段来存储截断的文本。可以使用post_save
信号处理程序自动填充此类字段。
【讨论】:
【参考方案2】:当我不能使用 django truncatechars 时,我更喜欢的方式是使用 CSS 来解决这个问题。
假设在渲染占位符后,您将拥有如下内容:
<html>
<body>
<div class="text">Your content from placeholder</div>
</body>
</html>
在您的 CSS 中添加:
div.text
width: 120px;
text-overflow: ellipsis;
white-space:nowrap;
overflow:hidden;
最终结果将如下所示:
您的内容来自...
【讨论】:
以上是关于截断 Django CMS 占位符的主要内容,如果未能解决你的问题,请参考以下文章