博客标签栏设计
Web开发 . 2019/11/20发布 . shanyonggang_web . 我要评论 . 499阅读

参考文档

说明

        本次主要采用第三方库的形式进行博客标签模块的设计,省得自己动手设计了,具体可以查看参考文档。

安装及设置

        直接采用pip安装即可

pip install django-taggit
pip install django-taggit-templatetags2

        在settings.py中添加App

INSTALLED_APPS = [
    *
    'taggit',   # 博客标签模块
    'taggit_templatetags2', # 标签云模块
]

修改文章model

class ArticlePost(models.Model):
    *
    # 文章标签
    tags = TaggableManager(blank=True)

        完成后记得迁移数据,之后打开后台即可看到标签栏,多个标签最好用英文逗号进行分隔,如下图:

前台显示

        其中标签的显示代码如下:

<span>
   {% for tag in article.tags.all %}
   <a href="{% url 'index:blog_list' %}?tag={{ tag }}"class="badge badge-secondary">
                                    {{ tag }}
   </a>
   {% endfor %}
</span>

        标签云的显示代码如下:

# 首先引入标签云第三方库
{% load taggit_templatetags2_tags %}

{% get_tagcloud as tags %}
{% for tag in tags %}
<span class="tag_cloud_list">
  <a href="{% url 'index:blog_list' %}?tag={{ tag }}">{{ tag }}({{ tag.num_times }})</a>   
</span>
{% endfor %}

        注:由于标签云默认设置的最多显示十个,因此需要在settings.py中设置,添加如下:

# 标签云数量显示(默认显示10个)
TAGGIT_LIMIT = 1000

        最终显示结果为:


  • 有疑问请在下方评论区留言,我会尽快回复。
  • Email私信我: 511248513@qq.com 或添加博主 微信
本文标题:博客标签栏设计
本文作者:shanyonggang_web
发布时间:2019年11月20日 08:56
许可协议: 署名-非商业性使用 4.0 国际许可协议
知识共享许可协议     转载请保留原文链接及作者
正在加载今日诗词....
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的


登录 后回复

当前共有4条评论


comment.

shanyonggang_web

大家好,我是博主本人,测试评论模块

 

2019-11-21 21:30

comment.

shanyonggang_web shanyonggang_web

我来看看咋回事

2019-11-21 21:31

comment.

yinzhuoqun

smiley

2019-11-22 13:47

comment.

shanyonggang_web yinzhuoqun

laugh

2019-11-22 13:53