From 3e9fe20ddc12ecb2409e325c6c625c33d9baf777 Mon Sep 17 00:00:00 2001 From: liangliang Date: Sun, 9 Apr 2017 15:37:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=87=E7=AD=BE=E4=BA=91?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog/templatetags/blog_tags.py | 16 +++++++++++++--- templates/blog/tags/sidebar.html | 12 ++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/blog/templatetags/blog_tags.py b/blog/templatetags/blog_tags.py index c06a596..c0e4775 100644 --- a/blog/templatetags/blog_tags.py +++ b/blog/templatetags/blog_tags.py @@ -128,7 +128,17 @@ def load_sidebar(user): links = Links.objects.all() commment_list = Comment.objects.order_by('-id')[:settings.SIDEBAR_COMMENT_COUNT] show_adsense = settings.SHOW_GOOGLE_ADSENSE - # tags= + # 标签云 计算字体大小 + # 根据总数计算出平均值 大小为 (数目/平均值)*步长 + increment = 10 + tags = Tag.objects.all() + sidebar_tags = None + if tags: + s = list(map(lambda t: (t, t.get_article_count()), tags)) + count = sum(map(lambda t: t[1], s)) + dd = count / len(tags) + sidebar_tags = list(map(lambda x: (x[0], x[1], (x[1] / dd) * increment), s)) + return { 'recent_articles': recent_articles, 'sidebar_categorys': sidebar_categorys, @@ -137,7 +147,8 @@ def load_sidebar(user): 'sidabar_links': links, 'sidebar_comments': commment_list, 'user': user, - 'show_adsense': show_adsense + 'show_adsense': show_adsense, + 'sidebar_tags': sidebar_tags } @@ -252,4 +263,3 @@ def query(qs, **kwargs): {% endfor %} """ return qs.filter(**kwargs) - diff --git a/templates/blog/tags/sidebar.html b/templates/blog/tags/sidebar.html index 06bad41..dd6b1fc 100755 --- a/templates/blog/tags/sidebar.html +++ b/templates/blog/tags/sidebar.html @@ -77,6 +77,18 @@ {% if show_adsense %} {% include 'share_layout/adsense.html' %} {% endif %} + {% if sidebar_tags %} + + {% endif %}