簡體   English   中英

在將上傳的文件發送到亞馬遜 s3 存儲桶之前,如何在 Django 上重命名上傳的文件?

[英]How can I rename an uploaded file on Django before sending it to amazon s3 bucket?

我有一個 Django 應用程序,它允許用戶上傳文件並將其保存到 s3 存儲桶。 我的問題是如何在上傳到存儲桶之前重命名文件?

這是我的models.py類:

from converter.storage_backends import CsvStorage
from django.db import models
from django.utils import timezone


class CSVUpload(models.Model):
  csv_file = models.FileField(storage=CsvStorage())

  def __str__(self):
    return self.csv_file

這是我的backend_storages.py類:

from storages.backends.s3boto3 import S3Boto3Storage 
from django.conf import settings


class CsvStorage(S3Boto3Storage):    
   location = settings.AWS_CSV_LOCATION    
   file_overwrite = False

誰能幫助我了解如何去做? 感謝您提供的任何幫助

您需要覆蓋保存功能。 我做了這樣的事情:

class Documents(AuditFields):
document_file = models.FileField(max_length=10000)

def save(self, *args, **kwargs):
    self.document_file.name = 'some_prefix' + self.document_file.name
    super(PlantDocument, self).save(*args, **kwargs)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM