django项目用higcharts统计最近七天文章点击量


Posted in Python onAugust 17, 2019

下载higcharts插件放在static文件夹下

前端引入

<script src="/static/highcharts/highcharts.js"></script>
<script src="/static/highcharts/modules/exporting.js"></script>
<script src="/static/highcharts/modules/oldie.js"></script>
<script src="/static/highcharts/highcharts-zh_CN.js"></script>

定义在页面中的位置

<div id="container" style="min-width:400px;height:400px"></div>

前端js

<script>
  var chart = Highcharts.chart('container', {
 chart: {
  type: 'line'
 },
 title: {
  text: '日点击量和点赞量统计'
 },
 subtitle: {
  text: '数据来源: terroristhouse.com'
 },
 xAxis: {
  categories: {{ list_week_day|safe }}
 },
 yAxis: {
  title: {
   text: '数量 (次)'
  }
 },
 plotOptions: {
  line: {
   dataLabels: {
    // 开启数据标签
    enabled: true
   },
   // 关闭鼠标跟踪,对应的提示框、点击事件会失效
   enableMouseTracking: false
  }
 },
 series: [{
  name: '点击量',
  data:{{ clicknum_list|safe }}
 }, {
  name: '点赞量',
  data: {{ praise_num_list|safe }}
 }]
});
  </script>

路由

# 点击量统计
re_path('article/click/', article.click,name='article/click/'),

后台方法

from blog.utils import function

# 点击量
def click(request):
 recent_seven_days = function.recent_seven_days()
 list_week_day = recent_seven_days[::-1] # 进行倒序
 clicknum_list = []
 praise_num_list = []
 # print(list_week_day)
 for v in list_week_day:
  click_num_obj = Praise.objects.filter(click_addtime=v,click_sort=1).aggregate(clicknum=Count('click_sort'))
  praise_num_obj = Praise.objects.filter(click_addtime=v,click_sort=0).aggregate(praise_num=Count('click_sort'))
  # print(click_num_obj['clicknum'],praise_num_obj['praise_num'])
  clicknum = int(click_num_obj['clicknum']) if (click_num_obj['clicknum'] is not None) else 0
  praise_num = int(praise_num_obj['praise_num']) if (praise_num_obj['praise_num'] is not None) else 0

  clicknum_list.append(clicknum)

  praise_num_list.append(praise_num)
 # print(clicknum_list)

 # data=[{
 #  'name': '点击量',
 #  'data': clicknum_list
 # }, {
 #  'name': '点赞量',
 #  'data': praise_num_list
 # }]

 # num= [ '20190624', '20190625', '20190626', '20190627', '20190628', '20190629', '20190630']
 return render(request,'article/click.html',locals())

应用目录下创建untils文件夹,并在其下创建function.py文件,用来获取最近七天日期

# 七天日期
def recent_seven_days():# 通过for 循环得到天数,如果想得到两周的时间,只需要把8改成15就可以了。
 import datetime
 d = datetime.datetime.now()#2019-6-28 9:25:43.843164
 lists = []
 for i in range(1,8):#i:1-7
  oneday = datetime.timedelta(days=i) #1 day, 0:00:00  2 days, 0:00:00 ... 7 days, 0:00:00
  day = d - oneday#2019-06-27 11:32:10.186535 2019-06-26 11:32:10.186535 ... 2019-06-21 11:32:10.186535
  date_to = datetime.datetime(day.year, day.month, day.day)#2019-06-27 00:00:00 2019-06-26 00:00:00 ... 2019-06-21 00:00:00
  lists.append(str(date_to)[0:10])#2019-06-27 2019-06-26 ... 2019-06-21
 return lists

页面效果

django项目用higcharts统计最近七天文章点击量

总结

以上所述是小编给大家介绍的django项目用higcharts统计最近七天文章点击量,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python编写检测数据库SA用户的方法
Jul 11 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
关于tf.nn.dynamic_rnn返回值详解
Jan 20 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
Feb 14 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
python 下载文件的几种方法汇总
Jan 06 Python
python生成word合同的实例方法
Jan 12 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 Python
详解python网络进程
Jun 15 Python
Django对models里的objects的使用详解
Aug 17 #Python
python3.6中@property装饰器的使用方法示例
Aug 17 #Python
对django的User模型和四种扩展/重写方法小结
Aug 17 #Python
python3.6编写的单元测试示例
Aug 17 #Python
python3 实现的对象与json相互转换操作示例
Aug 17 #Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 #Python
django 通过url实现简单的权限控制的例子
Aug 16 #Python
You might like
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
javascript继承之为什么要继承
2012/11/10 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
Python yield使用方法示例
2013/12/04 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
python求解汉诺塔游戏
2020/07/09 Python
Python 如何测试文件是否存在
2020/07/31 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
简历的自荐信
2013/12/19 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
爱祖国演讲稿
2014/05/04 职场文书
社区先进事迹材料
2014/05/19 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
工作证明书
2015/06/15 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python