python – Django-Tagging – 计算并订购顶级“标签”(我的清洁解决方案有哪些?)

我正在使用Django-Tagging,我并不需要云,我只想要一个有限的列表,列出我博客条目中最常用的标签.

使用以下内容

[(tag.name,int(tag.count)) for tag in Tag.objects.usage_for_model(Post,counts=True)]

它返回一个数组(注意我在开发时使用的是Lorem Ipsum):

[(u'deposit',5),(u'escorol',1),(u'gratuitous',8),(u'marquee',2)]

但是,为了订购和限制它,我需要这样做:

sorted([(tag.name,counts=True)],key=lambda k:k[1],reverse=True)[:10]

有没有更简洁的方法来做到这一点?我觉得必须有.

解决方法

Django的 {% regroup %}模板标签可能对此有用.假设标签位于模板的上下文中:

{% regroup tags|dictsort:"count" by count as sorted_tags %}
...
{% for count in sorted_tags %}
...
    {% for tag in count %}
    ...
    {% endfor %}
{% endfor %}

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...