Categories
Django Python

Django REST Framework: Displaying full URL for ImageField or FileField

If you have any ImageField or FileField in your model, you can easily display the full URL (including the hostname/domain) for the file/image. Django REST Framework’s model serializers would do it for you. However, to get the hostname/domain name, the serializer needs a “request context” so it can infer the necessary parts and build a full url.

So if you’re manually invoking a serializer, please pass a request context like this:

If you use ModelViewSet, DRF will automatically pass the request context while initializing the serializer. So in that case you don’t need to do anything. You need to pass the context only when you’re manually creating a serializer instance.

10 replies on “Django REST Framework: Displaying full URL for ImageField or FileField”

Set directive in your settings.py for DRF. It disable absolute url.

REST_FRAMEWORK = {

‘UPLOADED_FILES_USE_URL’: False

}

Thanks, was very helpful for me, I was looking up everywhere for this one, and I only found here, Amazing Post

Comments are closed.