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

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

posted @ 2019-07-12 10:28  猫影  阅读(359)  评论(0)    收藏  举报