django实现日期分类效果
日期分类效果图
实现功能:能够按照月份进行分类,统计每个月份的文章数量,没有文章的月份不显示。点击每栏可以链接的当月的文章列表。
每月文章列表可以使用django的通用视图MonthArticleView,比较容易实现。日期分类需要自己模板的context。
(参考链接地址:http://www.butteredcat.org/article/23/)
def month_list():
articles = Article.objects.all()
year_month = set() #设置集合,无重复元素
for a in articles:
year_month.add((a.cre_date.year,a.cre_date.month)) #把每篇文章的年、月以元组形式添加到集合中
counter = {}.fromkeys(year_month,0) #以元组作为key,初始化字典
for a in articles:
counter[(a.cre_date.year,a.cre_date.month)]+=1 # 按年月统计文章数目
year_month_number = [] #初始化列表
for key in counter:
year_month_number.append([key[0],key[1],counter[key]]) # 把字典转化为(年,月,数目)元组为元素的列表
year_month_number.sort(reverse=True) # 排序
return {'year_month_number':year_month_number} #返回字典context
然后使用合并到原来context中。
每月文章显示,使用django的通用视图MonthArticleView。
from django.views.generic.dates import MonthArchiveView from .models import Article
class ArticleMonthArchiveView(MonthArchiveView):
template_name = 'blog/main/index_by_month.html'
queryset = Article.objects.all()
date_field = "cre_date"
paginate_by = 4 def get_context_data(self, **kwargs):
context = super(ArticleMonthArchiveView,self).get_context_data(**kwargs)
context["categories"] = Category.objects.annotate(num_article = Count('article'))
context.update(month_list())
return context
django实现日期分类效果的更多相关文章
- 利用select实现年月日三级联动的日期选择效果
× 目录 [1]演示 [2]规划 [3]结构生成[4]算法处理 前面的话 关于select控件,可能年月日三级联动的日期选择效果是最常见的应用了.本文是选择框脚本的实践,下面将对日期选择效果进行详细介 ...
- FileClassify文件日期分类工具
FileClassify是一款免费的文件按日期分类工具,能够根据文件修改日期,将文件移动或复制到对应的目录中 如果对您有较大的帮助,欢迎捐赠我们,我们对您表示衷心的感谢! 1.输入文件夹和输出文件可以 ...
- python + sklearn ︱分类效果评估——acc、recall、F1、ROC、回归、距离
之前提到过聚类之后,聚类质量的评价: 聚类︱python实现 六大 分群质量评估指标(兰德系数.互信息.轮廓系数) R语言相关分类效果评估: R语言︱分类器的性能表现评价(混淆矩阵,准确率,召回率,F ...
- CNN结构:图片风格分类效果已成(StyleAI)
CNN结构:图片风格分类效果已成.可以在色彩空间对图片风格进行分类,并进行目标分类. StyleAI构架:FasterRCnn + RandomTrees 为何不使用MaskRCNN? MaskRCN ...
- Fragment 实现的 分类 效果
Fragment 实现的 分类 效果 布局文件的信息: <LinearLayout xmlns:android="http://schemas.android.com/apk/re ...
- html、js、django处理日期问题
在html中使用日期控件,利用ngmodel将输入的值传到js里: <input type="date" ng-model="timeOps.test.a_time ...
- 图片按日期分类和查看程序(WPF开发)(附源码)
手机方便了我们的生活,可以随时随地拍摄.越来越多的图片堆砌在电脑里.看到杂乱无章的图片,实在感到头痛.手动整理太复杂.基于此,我写了一个小程序,可以将图片按日期整理和查看.按日期查看图片,回忆过去的点 ...
- jq仿苹果的时间/日期选择效果
1.html文件,index.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- django admin日期变为可以修改
Django - 日期.时间字段 阅读目录 DateTimeField.auto_now DateTimeField.auto_now_add admin中的日期时间字段 如何将创建时间设置为“默 ...
随机推荐
- 删除datatable中的行
今天遇到一问题,无论如何也删除不干净datatable.我想全部删除.但总是得不到想要的结果. ; i < dt.Rows.Count; i++) { //dt.Rows.Remove(dt.R ...
- <..................> 哈佛大学哲学系 && 历史哲学笔记文献集
哈佛大学哲学系课程表 (一)概况 (1)哈佛大学哲学系现有教师21人,其中访问教授7人,教师流动性较大,每年有一定的变化.以下为现任教师:Richard Moran(系主任 ...
- C# 自定义控件摘记
C# 自定义控件属性 现有自定义控件,内有一textbox控件 TextBox1.控件有一属性 Value 定义为 [BrowsableAttribute(true)] [BindableAttrib ...
- 解决windows server 2003不识别移动硬盘
解决windows server2003不显示移动硬盘的问题: 1.进入命令提示符环境(也就是DOS) 2.进入DISKPART程序 3.输入AUTOMOUNT ENABLE指令 4.输入OK 下次U ...
- Java里的4种引用类型
Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用:Java中根据其生命周期的长短,将引用分为4类. 1 强引用 特点:我们平常典型编码Object obj = new Object ...
- SUBMIT RM07DOCS【MB51】 获取返回清单,抓取标准报表数据
*&---------------------------------------------------------------------* *& Report YT_SUBMIT ...
- 【转】ModelAndView 学习
http://blog.csdn.net/wavaya/article/details/6185226 ModelAndView 类别就如其名称所示,是代表了Spring Web MVC程式中呈现画面 ...
- 学习OpenCV2——Mat之通道的理解
本文详细介绍了opencv中涉及通道的知识,包括图像类型转换,通道合成分解,图像的显示. 来源:http://blog.csdn.net/GDFSG/article/details/50927257 ...
- 编译android源码m、mm、mmm命令的使用
http://blog.163.com/zz_forward/blog/static/212898222201442873435471/ gcc怎么查看它的默认include路径和库的路径呢? //- ...
- 【转载】linux获取mac地址
#include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/soc ...