Javascript 如何在django制作instagram这样的视频查看计数器?

Javascript 如何在django制作instagram这样的视频查看计数器?,javascript,python,django,web-project,Javascript,Python,Django,Web Project,例如,如果播放3秒或更长时间,则计算视图数,并且每个用户的视图数是唯一的。 如果播放时间超过3秒,我是否应该在前端设置计时器并请求更新计数器。Instagram是如何做到这一点的。我的模型属性 class video(): name views_counter video_file 我想您可以看看HTML音频/视频DOM ontimeupdate事件和CurrentTime属性 这里有一个例子 模型 观点 网址 您将如何识别播放3秒或更长时间的视频?我想你在尝试解决这个

例如,如果播放3秒或更长时间,则计算视图数,并且每个用户的视图数是唯一的。 如果播放时间超过3秒,我是否应该在前端设置计时器并请求更新计数器。Instagram是如何做到这一点的。我的模型属性

class video():
    name
    views_counter
    video_file

我想您可以看看HTML音频/视频DOM ontimeupdate事件和CurrentTime属性

这里有一个例子

模型

观点

网址


您将如何识别播放3秒或更长时间的视频?我想你在尝试解决这个问题之前需要做大量的研究,或者如果你已经知道这一点,那么请解释一下你的项目的高级架构tiktok、instagram和vine是如何做到的。我不知道。那么请先了解视频流是如何工作的,然后尝试解决这个问题
class Video(models.Model):
title = models.CharField()
video_file = models.FileField()
viewers = models.ManyToManyField(UserModel)
def video_viewer_add(request, pk):
video = get_object_or_404(Video, pk=pk)
if request.method == 'GET':
    if request.user not in video.viewers.all():
        video.viewer.add(request.user)
    video.save()
    return HttpResponse()
path('videos/<int:pk>/', views.video_viewer_add, name='add_video_view')
<video id = "video" width = "" height = "" video-url = "{% url 'add_video_view' video.pk %}" controls >
<script>var vid = document.getElementById("video") vid.ontimeupdate = function(){myFunction()}function myFunction(){(vid.currentTime=5) {$.ajax({url: vid.attr("video-url"),type: 'get',dataType: 'json',success: function() {alert('video viewed')}})}}</script >
{{video.viewers.count}}