如何给下载文件添加下载次数

Django 专栏收录该内容
14 篇文章 0 订阅

博主地址: http://www.codeye.top
博客地址:http://blog.codeye.top

想统计一下附件中发布的下载链接被点击多少次,如何实现呢?

使用的是Django

步骤如下:
*. 数据库模型中添加hit字段:

class FileContainer(models.Model):
    files = models.FileField('文件',upload_to='%Y/%m/%d')
    #...
    hit= models.PositiveIntegerField('下载次数', default=0)
    def hited(self):
        self.hit += 1
        self.save(update_fields=['hit'])

*. 在模版里,添加a标签的click事件
enter image description here

<a href="url" onclick="hit( id )">下载次数{{file.hit}}</a>

*. 下方的js发送个ajax的get请求

<script>
    function hit(id) {
        $.get("/filecontainer/file/?id=" + id,);
    }
</script>
  • 后台处理数据库写入字段:
def download_time(request):
    try:
        fileId = request.GET.get('id')
        file = FileContainer.objects.get(id=int(fileId))
        file.hited()
        return HttpResponse('ok')
    except Exception as e:
        return HttpResponse(e.__str__())

enter image description here

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值