django boto3: NoCredentialsError - Anmeldeinformationen können nicht gefunden werden
Ich versuche, @ zu verwendboto3
in meinem Django-Projekt, um Dateien auf Amazon S3 hochzuladen. Anmeldeinformationen sind in @ definiersettings.py
:
AWS_ACCESS_KEY = xxxxxxxx
AWS_SECRET_KEY = xxxxxxxx
S3_BUCKET = xxxxxxx
Imviews.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')
Das System beschwert sich überUnable to locate credentials
. Ich habe zwei Fragen
(a) Es scheint, dass ich eine Anmeldedatei erstellen soll~/.aws/credentials
. Aber wo muss ich es in einem Django-Projekt hinstellen?
(b) Die s3 Methodeupload_file
verwendet als erstes Argument einen Dateipfad / -namen. Kann ich einen Dateistream bereitstellen, der von einem Formulareingabeelement @ abgerufen wurd<input type="file" name="fileToUpload">
?