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

 更新时间:2019年08月17日 09:37:30   作者:记住我忘记我  
这篇文章主要介绍了django项目用higcharts统计最近七天文章点击量,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

下载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统计最近七天文章点击量,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • Python实战之markdown转pdf(包含公式转换)

    Python实战之markdown转pdf(包含公式转换)

    由于我们markdown编辑器比较特殊,不是很方便浏览,如果转换成pdf的话,就不需要可以的去安装各种编辑器才可以看了。所以本文将介绍如何通过Python实现md转pdf或者是docx,需要的朋友可以参考一下
    2021-12-12
  • PyInstaller如何打包依赖文件至目标程序目录

    PyInstaller如何打包依赖文件至目标程序目录

    这篇文章主要介绍了PyInstaller如何打包依赖文件至目标程序目录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • python生成圆形图片的方法

    python生成圆形图片的方法

    这篇文章主要为大家详细介绍了python生成圆形图片的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • python正则表达式查找和替换内容的实例详解

    python正则表达式查找和替换内容的实例详解

    在本篇文章里小编给大家整理的是一篇关于python正则表达式查找和替换内容的实例详解内容,有兴趣的朋友们可以跟着学习参考下。
    2021-10-10
  • 用Flask实现token登录校验的解决方案

    用Flask实现token登录校验的解决方案

    网站、小程序、APP 是否已经登录所代表的状态,代表一个概念是登录态, 我们常用的登录态验证方式有cookie,session,token,token提供了另外一种不需要缓存账户和密码的登录状态验证方式,本文给大家介绍了用Flask实现token登录校验的解决方案,需要的朋友可以参考下
    2024-03-03
  • Tensorflow实现在训练好的模型上进行测试

    Tensorflow实现在训练好的模型上进行测试

    今天小编就为大家分享一篇Tensorflow实现在训练好的模型上进行测试,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 超好玩的"隔空操物"通过Python MediaPipe库实现

    超好玩的"隔空操物"通过Python MediaPipe库实现

    这篇文章主要介绍了python+mediapipe+opencv实现手部关键点检测功能(手势识别),本文仅仅简单介绍了mediapipe的使用,而mediapipe提供了大量关于图像识别等的方法,需要的朋友可以参考下
    2022-01-01
  • 利用Python轻松生成艺术签名

    利用Python轻松生成艺术签名

    很多兄弟觉得自己字写的不好什么的,没事,咱们直接用python来生成。本文就将为大家介绍如何利用Python轻松生成艺术签名,需要的可以参考一下
    2022-01-01
  • Python绘制的爱心树与表白代码(完整代码)

    Python绘制的爱心树与表白代码(完整代码)

    这篇文章主要介绍了Python绘制的爱心树与表白代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • tensorflow模型继续训练 fineturn实例

    tensorflow模型继续训练 fineturn实例

    今天小编就为大家分享一篇tensorflow模型继续训练 fineturn实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论