Django开发运维后台(四):几个ArchiveView的使用

简介:

TodayArchiveView, YearArchiveView, MonthArchiveView, DayArchiveView这类视图都是用来显示数据,用法也差不多,重点在于URL而已:

TodayArchiveView:搜索今天的数据

YearArchiveView:搜索指定年份的数据

MonthArchiveView:搜索指定月份的数据

DayArchiveView:搜索指定日的数据


建一张表来练习练习,用于存放检查数据库备份情况的Backup表

models.py

1
2
3
4
5
6
7
8
9
class  Backup(models.Model):
     server  =  models.ForeignKey(ServerList)
     checkdate  =  models.DateField()
     admin_statistics_status  =  models.IntegerField()
     game_status  =  models.IntegerField()
     gm_status  =  models.IntegerField()
     media_status  =  models.IntegerField()
     operation_status  =  models.IntegerField()
     runtime  =  models.DateTimeField()

views.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
class  BackupTodayArchive(TodayArchiveView):
     allow_empty  =  True
     allow_future  =  False
     context_object_name  =  'list'
     template_name  =  'backuplist.jinja.html'
     http_method_names  =  [u 'get' ,]
     model  =  Backup
     date_field  =  'checkdate'
     paginate_by  =  50
     make_object_list  =  True
 
 
class  BackupYearArchive(YearArchiveView):
     allow_empty  =  True
     allow_future  =  False
     context_object_name  =  'list'
     template_name  =  'backuplist.jinja.html'
     http_method_names  =  [u 'get' ,]
     model  =  Backup
     date_field  =  'checkdate'
     year_format  =  '%Y'
     paginate_by  =  50
     make_object_list  =  True
 
class  BackupMonthArchive(MonthArchiveView):
     allow_empty  =  True
     allow_future  =  False
     context_object_name  =  'list'
     template_name  =  'backuplist.jinja.html'
     http_method_names  =  [u 'get' ,]
     model  =  Backup
     date_field  =  'checkdate'
     year_format  =  '%Y'
     month_format  =  '%m'
     paginate_by  =  50
     make_object_list  =  True
 
class  BackupDayArchive(DayArchiveView):
     allow_empty  =  True
     allow_future  =  False
     context_object_name  =  'list'
     template_name  =  'backuplist.jinja.html'
     http_method_names  =  [u 'get' ,]
     model  =  Backup
     date_field  =  'checkdate'
     year_format  =  '%Y'
     month_format  =  '%m'
     day_format  =  '%d'
     paginate_by  =  50
     make_object_list  =  True

date_field:这个参数要指定model里面的日期型字段,是视图按这个字段过滤结果的

year_format month_format day_format:这几个是匹配URL捕捉的格式

make_object_list:我也不知道啥意思


urls.py

1
2
3
4
     url(r '^backuplist/$' , BackupTodayArchive.as_view(), name = 'backuplist' ),
     url(r 'backuplist/(?P<year>\d{4})/$' , BackupYearArchive.as_view()),
     url(r 'backuplist/(?P<year>\d{4})/(?P<month>\d{2})/$' , BackupMonthArchive.as_view()),
     url(r 'backuplist/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$' , BackupDayArchive.as_view()),

这样就完成一个按日期显示内容的功能:

显示当天数据:http://127.0.0.1/saadmin/backuplist/

显示2014年数据:http://127.0.0.1/saadmin/backuplist/2014/

显示2014年7月份的数据:http://127.0.0.1/saadmin/backuplist/2014/07/

显示2014年7月5日的数据:http://127.0.0.1/saadmin/backuplist/2014/07/05/


感觉挺好玩的,这几个视图。。

本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/1438479如需转载请自行联系原作者


lihuipeng

相关文章
|
11月前
|
人工智能 OLAP 数据处理
解锁数仓内AI流水线,AnalyticDB Ray基于多模ETL+ML提效开发与运维
AnalyticDB Ray 是AnalyticDB MySQL 推出的全托管Ray服务,基于开源 Ray 的丰富生态,经过多模态处理、具身智能、搜索推荐、金融风控等场景的锤炼,对Ray内核和服务能力进行了全栈增强。
|
10月前
|
SQL 运维 自然语言处理
Dataphin智能化重磅升级!编码难题一扫光,开发运维更高效!
Dataphin重磅推出三大核心智能化能力:智能代码助手提升SQL开发效率;智能运维助手实现移动化任务管理;智能分析通过自然语言生成SQL,助力数据价值释放。未来将持续开放智能ETL、安全助手等能力,助力企业构建高效、稳定的数据资产体系。
739 0
|
人工智能 运维 安全
AI大模型运维开发探索第四篇:智能体分阶段演进路线
本文探讨了智能体工程的演进历程,从最初的思维链(智能体1.0)到实例化智能体(智能体2.0),再到结构化智能体(智能体3.0),最终展望了自演进智能体(智能体4.0)。文章详细分析了各阶段遇到的问题及解决策略,如工具调用可靠性、推理能力提升等,并引入了大模型中间件的概念以优化业务平台与工具间的协调。此外,文中还提到了RunnableHub开源项目,为读者提供了实际落地的参考方案。通过不断迭代,智能体逐渐具备更强的适应性和解决问题的能力,展现了未来AI发展的潜力。
|
10月前
|
存储 前端开发 应用服务中间件
Django 实战:静态文件与媒体文件从开发配置到生产部署
Django项目中,静态文件(Static Files)和媒体文件(Media Files)是两类不同用途的文件。本文详细介绍了它们的区别、配置方法以及在开发与生产环境中的处理方式,并结合用户头像上传功能进行实战演示,最后讲解了如何通过Nginx或OpenResty部署静态与媒体文件服务。
499 1
|
10月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
10月前
|
人工智能 运维 自然语言处理
首个智能体模型实测:产品、开发、运维“全包了”
2025年,AI进入“动手”时代。智谱发布新一代大模型GLM-4.5,全球排名第三、国产第一,专为智能体设计,融合推理、编码与智能体能力,实现自主规划与执行任务。通过8个Demo展示其强大能力,涵盖网页设计、课件制作、小游戏开发等,展现其“带手的脑”特性,推动AI从实验室走向真实场景。
531 0
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
1078 157
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
915 45
|
存储 分布式计算 Hadoop
【产品升级】Dataphin V4.4重磅发布:开发运维提效、指标全生命周期管理、智能元数据生成再升级
Dataphin V4.4版本引入了多项核心升级,包括级联发布、元数据采集扩展、数据源指标上架、自定义属性管理等功能,大幅提升数据处理与资产管理效率。此外,还支持Hadoop集群管理、跨Schema数据读取、实时集成目标端支持Hudi及MaxCompute delta等技术,进一步优化用户体验。
1313 3
【产品升级】Dataphin V4.4重磅发布:开发运维提效、指标全生命周期管理、智能元数据生成再升级
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
1235 2

热门文章

最新文章