Как генерировать подписанные URL-адреса файлов с помощью django rest framework?
Модуль django-storage позаботится об этом автоматически.
Вы можете проверить это довольно легко, если вы загрузили ресурс на свой сервер, проверьте URL в поле FileField вашей модели.(В моем случае это называется raw
)
Если вы пойдете направо, вы увидите в URL параметр Signature.Если вы перезагрузите страницу, вы увидите, что значение подписи меняется, доказывая, что вы на самом деле используете временные подписанные URL-адреса.
Срок действия по умолчанию составляет 86400 секунд (1 день), вы можете изменить это с переменной GS_EXPIRATION
.
Итак, если я удалю файл в базе данных, будет ли он автоматически удален и из облачного хранилища Google?
Не по умолчанию, но вы можете добавить эту функциюлегко путем переопределения метода удаления вашей модели
class MyModel(models.Model):
myfile = models.FileField(upload_to='filename/')
def delete(self, *args, **kwargs):
self.myfile.delete()
super(MyModel, self).delete(*args, **kwargs)