Как сгенерировать ссылку на одноразовую загрузку 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.