Как сгенерировать ссылку на одноразовую загрузку Django со сроком действия

Я загружаю файлы, используя модель filefield на media-root. Теперь у меня есть такая ссылка: domain.com/media/file_name.file_extension.I'm asking about the best way to generate a one-time link with expire time from this main link for each user who click on file to download it.

class files(models.Model): 

 title = models.CharField(max_length=50)
 picture = models.ImageField(upload_to='imges')
 desc = models.TextField()
 created_at = models.DateField(auto_now_add=True)
 updated_at = models.DateField(auto_now=True)
 download = models.FileField(upload_to='files')


 def __str__(self):
    return self.title

вот мои взгляды:

def download(requset ,title):
    file = get_object_or_404 (files , title=title)
    try :
      file = files.objects.filter(title = title)
    except :
      raise Http404

    context ={
     'file' :file,
  }
return render( requset,'download.html',context)

вот мой шаблон:

<div class="fix download_button"><a href="{{f.download.url}}"></a></div>

вот мой url:

    path('download/<str:title>/' , views.download , name='download'),

Посмотрите на django-request-token.

Вернуться на верх