diff --git a/django_minio_backend/models.py b/django_minio_backend/models.py index 7a30db5..f61761a 100644 --- a/django_minio_backend/models.py +++ b/django_minio_backend/models.py @@ -93,7 +93,7 @@ def __init__(self, self.__MINIO_ACCESS_KEY: str = get_setting("MINIO_ACCESS_KEY") self.__MINIO_SECRET_KEY: str = get_setting("MINIO_SECRET_KEY") self.__MINIO_USE_HTTPS: bool = get_setting("MINIO_USE_HTTPS") - self.__MINIO_REGION: str = get_setting("MINIO_REGION", None) + self.__MINIO_REGION: str = get_setting("MINIO_REGION", "us-east-1") # MINIO defaults to "us-east-1" when region is set to None self.__MINIO_EXTERNAL_ENDPOINT_USE_HTTPS: bool = get_setting("MINIO_EXTERNAL_ENDPOINT_USE_HTTPS", self.__MINIO_USE_HTTPS) self.__MINIO_BUCKET_CHECK_ON_SAVE: bool = get_setting("MINIO_BUCKET_CHECK_ON_SAVE", False) @@ -249,7 +249,8 @@ def url(self, name: str): :return: (str) URL to object """ if self.is_bucket_public: - return f'{self.base_url_external}/{self.bucket}/{name}' + base_url = self.client._base_url.build("GET", self.__MINIO_REGION).geturl() + return f'{base_url}{self.bucket}/{name}' if self.same_endpoints: # in this scenario the fake client is not needed client = self.client