I have a Django form which saves a file to s3 through the django-storages library and works fine. How can I generate and return a pre-signed url so the user can access the file temporarily after it is uploaded ? Is this abstracted by django-storages or do I have to use the boto3 api?
I have spent hours going through the Django-storages documentation however it is not very clear how to do this ..
form.py
class DocumentForm(forms.Form):
docfile = forms.FileField(
label='Select a file',
help_text='max. 42 megabytes'
)
name = models.CharField(max_length=20)
uploaded_at = models.DateTimeField(auto_now_add=True)
views.py
def upload_file(request):
if request.method == 'POST':
form = DocumentForm(request.POST)
if form.is_valid():
form.save()
url = ... # generate pre-signed url of uploaded file here
return render(request, 'upload_response.html', url)