[Django] ユニークなファイル名で画像をアップロードする tips

uuidを使ったファイル名でアップロードすることにより、ファイル名がかぶるのを防ぐことができる。

import uuid
...
def get_file_path(instance, filename):
    ext = filename.split('.')[-1]
    name = "%s.%s" % (uuid.uuid4(), ext)
    return os.path.join('upload_to_dir', name)


class YourModel(models.Model):
    data = models.ImageField(upload_to=get_file_path,null=True)
    created_date = models.DateTimeField(auto_now = True)

Related Contents

Pickup Contents