django boto3: NoCredentialsError - No se pueden ubicar las credenciales

Estoy tratando de usarboto3 en mi proyecto django para subir archivos a Amazon S3. Las credenciales se definen ensettings.py:

AWS_ACCESS_KEY = xxxxxxxx
AWS_SECRET_KEY = xxxxxxxx
S3_BUCKET = xxxxxxx

Enviews.py:

import boto3

s3 = boto3.client('s3')
path = os.path.dirname(os.path.realpath(__file__))
s3.upload_file(path+'/myphoto.png', S3_BUCKET, 'myphoto.png')

El sistema se queja deUnable to locate credentials. Tengo dos preguntas:

(a) Parece que se supone que debo crear un archivo de credencial~/.aws/credentials. Pero en un proyecto django, ¿dónde tengo que ponerlo?

(b) El método s3upload_file toma una ruta / nombre de archivo como primer argumento. ¿Es posible que proporcione una secuencia de archivo obtenida por un elemento de entrada de formulario<input type="file" name="fileToUpload">?

Respuestas a la pregunta(1)

Su respuesta a la pregunta