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

博主地址: 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值