首页 > 其他分享 >侧边栏筛选功能

侧边栏筛选功能

时间:2022-10-08 18:00:07浏览次数:52  
标签:功能 url list 侧边 tag param kwargs article 筛选

设计url

我们可以观察博客园关于日期、标签、分类的url设计是如下的:

https://www.cnblogs.com/suncolor/category/2226294.html 分类url
https://www.cnblogs.com/suncolor/archive/2022/10.html 日期url
https://www.cnblogs.com/suncolor/tag/2022/10.html 标签url

域名/用户名/category、tag、archive/。。

re_path(r'^(?P<username>\w+)/(?P<condition>category|tag|archive)/(?P<param>.*)/$',views.site),

视图函数的设计

在个人站点页需要添加的地方是:
#传入一个**kwargs,用于获取除username之外剩下的参数
def site(request,username,**kwargs):
    # 判断kwargs有没有值,没有则正常展示article_list里所有的文章
    # 有则进行判断,对article_list进行进一步的渲染
    if kwargs:
        print(kwargs)
        condition = kwargs.get('condition')
        param = kwargs.get('param')
        if condition == 'category':
            article_list = article_list.filter(category_id=param)
        elif condition == 'tag':
            article_list = article_list.filter(tag__id=param)
        else:
            year,month = param.split('-')
            article_list = article_list.filter(create_time__year=year,create_time__month=month)

前端页面对应设计

与个人站点一样,主要是对应url的添加

<p><a href="/{{ user_obj.username }}/category/{{ category.2 }}/">{{ category.0 }}({{ category.1 }})</a></p>

 <p><a href="/{{ user_obj.username }}/tag/{{ tag.2 }}">{{ tag.0 }}({{ tag.1 }})</a></p>
 
 <p><a href="/{{ user_obj.username }}/archive/{{ data.month|date:'Y-m' }}">{{ data.month|date:'Y年m月' }}({{ data.count_num }})</a></p>

标签:功能,url,list,侧边,tag,param,kwargs,article,筛选
From: https://www.cnblogs.com/suncolor/p/16769751.html

相关文章

  • vue实现复制功能
    html:<el-buttontype="primary"size="small"plainclass="ml30"@click="_copy(details.id)">复制店铺ID</el-button>js:_copy(context){//创建输入框元......
  • 电源为什么要加快放电功能!放电原理介绍
    ▼关注公众号:工程师看海▼ 大家好,我是工程师看海。很多负载对电源有上电时序和电压转换速率(压摆率)的要求,比如负载需要多路电源时,这些电源要有先后的上电、下电的顺序,同时......
  • Spark计算框架的优势及核心功能
    传统的离线计算常见问题是数据反馈慢,无法满足客户进行实时数据做决策的需求。如果说MapReduce计算框架的出现是为了解决离线计算问题,那么Spark计算框架的出现则解决了实时计......
  • Spark计算框架的优势及核心功能
    传统的离线计算常见问题是数据反馈慢,无法满足客户进行实时数据做决策的需求。如果说MapReduce计算框架的出现是为了解决离线计算问题,那么Spark计算框架的出现则解决了实时......
  • 个人站点页面搭建和侧边栏展示功能
    展示个人站点页面前端代码:和首页文章展示基本一样:<divclass="col-md-8">{%forarticleinarticle_list%}<ulclass="media-list">......
  • Chrome浏览器内置翻译功能突然失效(自动翻译失败)解决方案
    解决方案1.找到hosts文件hosts文件的路径C:\Windows\System32\drivers\etc2.修改hosts文件打开hosts文件后,在最下面添加以下两行内容,保存203.208.40.66translate.......
  • 29 自定义模板功能
    在相应的app文件夹中,创建templatetags文件夹,必须是templatetags文件夹命名:注意:templatetags文件夹中必须要有__init__.py文件jd.py:fromdjangoimporttemplateregist......
  • 如何打通 SAP Cloud for Customer 系统和微信公众号的双向消息通信功能
    本系列的前三篇文章,我们依次介绍了微信公众号开发环境的搭建,微信公众平台API的调用,以及地图功能的集成。本文作为该系列第四篇文章,介绍如何实现SAPCloudforCustomer......
  • Android平台GB28181设备接入侧(编码前|编码后|RTSP|RTMP)支持功能浅析
    在之前,我有写过Android平台GB28181设备接入模块的好多blog,包括参数设置、功能支持与扩展等,以数据接入为例,支持的数据类型涉及编码前、编码后或直接流数据(RTSP或RTMP流)。可用......
  • css实现滑动吸顶功能
    css实现滑动吸顶功能实现代码:首先给需要吸顶效果的子元素设置以下样式:position:sticky;top:0px;//这个top值,指的是离顶部多少距离吸顶left:0px; 然后给父元素添......