From c375877ab6141a9d0b386eb5a7a17ec351e2b3fe Mon Sep 17 00:00:00 2001 From: Roman Vasilyev Date: Thu, 13 Oct 2016 10:42:38 -0700 Subject: [PATCH] ability to use other domain than currently used --- rest_framework/fields.py | 3 +++ rest_framework/settings.py | 1 + 2 files changed, 4 insertions(+) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index e48285005..52aa79a41 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1408,6 +1408,7 @@ class FileField(Field): self.allow_empty_file = kwargs.pop('allow_empty_file', False) if 'use_url' in kwargs: self.use_url = kwargs.pop('use_url') + self.url_prefix = kwargs.pop('url_prefix', api_settings.UPLOADED_FILES_URL_PREFIX) super(FileField, self).__init__(*args, **kwargs) def to_internal_value(self, data): @@ -1438,6 +1439,8 @@ class FileField(Field): # If the file has not been saved it may not have a URL. return None url = value.url + if self.url_prefix: + url = self.url_prefix + url request = self.context.get('request', None) if request is not None: return request.build_absolute_uri(url) diff --git a/rest_framework/settings.py b/rest_framework/settings.py index 6d9ed2355..5f6329d26 100644 --- a/rest_framework/settings.py +++ b/rest_framework/settings.py @@ -111,6 +111,7 @@ DEFAULTS = { 'COMPACT_JSON': True, 'COERCE_DECIMAL_TO_STRING': True, 'UPLOADED_FILES_USE_URL': True, + 'UPLOADED_FILES_URL_PREFIX': None, # Browseable API 'HTML_SELECT_CUTOFF': 1000,