Ich habe eine Django App auf Heroku gehostet und ich versuche Mediendateien auf AWS S3 buket hochzuladen. Wenn ich lade ich den Fehler „nicht verketten‚str‘und‚NoneType‘Objekte“Django Media Uploads mit AWS S3 auf Heroku TypeError
Settings.py
INSTALLED_APPS = [
...
'storages',
...
]
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
S3_STORAGE_BUCKET_NAME = 'MyBucketName'
S3_URL = 'https://%s.s3.amazonaws.com' % S3_STORAGE_BUCKET_NAME
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
MEDIA_URL = S3_URL + '/media/'
Fehler Seite
Django Version: 1.9.5
Exception Type: TypeError
Exception Value:
cannot concatenate 'str' and 'NoneType' objects
Exception Location: /app/.heroku/python/lib/python2.7/site-packages/boto/s3/connection.py in build_auth_path, line 94
....
....
else:
return self.get_bucket_server(server, bucket)
def build_auth_path(self, bucket, key=''):
key = boto.utils.get_utf8_value(key)
path = ''
if bucket != '':
---> path = '/' + bucket
return path + '/%s' % urllib.parse.quote(key)
def build_path_base(self, bucket, key=''):
key = boto.utils.get_utf8_value(key)
return '/%s' % urllib.parse.quote(key)
AWS_STORAGE_BUCKET_NAME waren Sie rufen 'build_auth_path' werden muss' bucket' irgendwo ohne Einstellung. Können Sie dem 'bucket'-Argument einen Standardwert geben, wie Sie es mit' key' getan haben? – Chris