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的Flask框架中web表单的教程
Apr 20 Python
python学习数据结构实例代码
May 11 Python
使用Python来编写HTTP服务器的超级指南
Feb 18 Python
Python中属性和描述符的正确使用
Aug 23 Python
python 获取网页编码方式实现代码
Mar 11 Python
Python两个字典键同值相加的几种方法
Mar 05 Python
python增加图像对比度的方法
Jul 12 Python
python 采用paramiko 远程执行命令及报错解决
Oct 21 Python
keras 权重保存和权重载入方式
May 21 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
详细介绍python类及类的用法
May 31 Python
python区块链实现简版工作量证明
May 25 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
在字符串中把网址改成超级链接
2006/10/09 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
Laravel框架表单验证详解
2014/09/04 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
浅析Jquery操作select
2016/12/13 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
基于 D3.js 绘制动态进度条的实例详解
2018/02/26 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
redux.js详解及基本使用
2019/05/24 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
Python正则表达式知识汇总
2017/09/22 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
python实现IOU计算案例
2020/04/12 Python
python import 上级目录的导入
2020/11/03 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
大学生个人自我鉴定
2013/12/03 职场文书
高级销售求职信
2014/02/21 职场文书
服装促销活动方案
2014/02/23 职场文书
护士自我鉴定总结
2014/03/24 职场文书
一帮一活动总结
2014/05/08 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
高中社区服务活动报告
2015/02/05 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
Python中文纠错的简单实现
2021/07/07 Python
cypress测试本地web应用
2022/06/01 Javascript