You'll need these libraries
- pip install Pillow
- pip install django-storages
- pip install boto
You'll need these libraries
| import os | |
| from django.db import models | |
| def upload_avatar_to(obj, filename): | |
| filename_base, filename_ext = os.path.splitext(filename) | |
| s3filename = "profiles/{}{}{}".format(obj.first_name.lower(), obj.last_name.lower(), filename_ext.lower()) | |
| return s3filename | |
| class Person(models.Model): | |
| first_name = models.CharField(max_length=50) | |
| last_name = models.CharField(max_length=50) | |
| image = models.ImageField(blank=True, upload_to=upload_avatar_to) | |
| def __unicode__(self): | |
| return '{} {}'.format(self.first_name, self.last_name) | |
| class Meta: | |
| unique_together = ('first_name', 'last_name') | |
| ordering = ['last_name', 'first_name'] | |
| INSTALLED_APPS = ( | |
| #... | |
| 'storages', | |
| #... | |
| ) | |
| DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' | |
| AWS_S3_SECURE_URLS = False # use http instead of https | |
| AWS_QUERYSTRING_AUTH = False # don't add complex authentication-related query parameters for requests | |
| AWS_S3_ACCESS_KEY_ID = os.getenv('AWS_S3_ACCESS_KEY_ID') # enter your access key id | |
| AWS_S3_SECRET_ACCESS_KEY = os.getenv('AWS_S3_SECRET_ACCESS_KEY') # enter your secret access key | |
| AWS_STORAGE_BUCKET_NAME = 'yourbucketsname' |