Google App Engine:如何在给定数量的字符后截断字符串
Posted
技术标签:
【中文标题】Google App Engine:如何在给定数量的字符后截断字符串【英文标题】:Google App Engine: How to Truncate string after a given number of chars 【发布时间】:2012-05-30 12:19:25 【问题描述】:我正在使用 Django 模板使用 Google App Eninge。
我想在给定数量的字符后截断字符串,例如, 如果一个字符串(帖子的标题)太长,“This is a long long long long title”,我想显示前几个字,比如:“This is a long long ...”
我在这里找到了一些 Django sn-ps:http://djangosnippets.org/snippets/1259/http://djangosnippets.org/snippets/763/
我想知道:
如果 Google App Engine python 中有更简单的解决方案?
如何使用这个 sn-p http://djangosnippets.org/snippets/1259/ 在 App 引擎中?我认为弄乱源代码不是一个好主意。
我需要在 Django 模板中截断字符串,而不是在 python 源代码中。像这样的东西: string|truncatesmart:50
【问题讨论】:
您要根据字符还是单词进行截断?您在问题中都提到了。 @Nick 都很好。我需要更快的。 您需要更快的吗?像这样的函数的执行速度对页面的总渲染时间几乎没有任何贡献。 【参考方案1】:从您对问题的描述来看,这似乎是纯 CSS 已经专门解决的情况。看一下text-overflow:ellipsis
属性,它会截断一段文本以适应所需的宽度,并像您提到的那样放置一个尾随省略号 (...)。我希望这将是一个更简单的解决方案,您不必“重新发明***”。
【讨论】:
很容易知道,但是将整本书嵌入到搜索结果页面中可能是个坏主意。 :)【参考方案2】:你找到的django sn -p中的truncatesmart函数是纯python,不用改动就可以在app engine中使用。
【讨论】:
【参考方案3】:截断字符串的 Python 代码是:string = string[:chars]
其中 string 是您要修改的字符串,chars 是字符数的整数值。
您链接到的 sn-p 非常棒,如 @voscausa 所述,如果您正在寻找比截断 X 字符更智能的东西,可以直接在 python 中使用。
【讨论】:
你似乎没有明白我的意思。我需要在 Django 模板而不是 Python 源代码中使用它!以上是关于Google App Engine:如何在给定数量的字符后截断字符串的主要内容,如果未能解决你的问题,请参考以下文章
使用Google App Engine GQL查找给定半径内的所有位置
如何在 Google Cloud App Engine 上使用 PubSub 创建订阅者,该订阅者通过 Publisher 从 Google Cloud App Engine Flex 收听消息?
在 Google App Engine 上的数据存储区中更新大量实体
如何在 Google App Engine app.yaml 中处理尾部斜线