Сериализатор возвращает URL медиафайлов в http, а не в https в Django Rest Framework

Я пытаюсь сериализовать модель и одно из ее полей является FileField при вызове serialiser.data он возвращает URL поля FileField в схеме HTTP, а не HTTPS.

Вот мой код

class File(models.Model):
    name = models.CharField(blank=True, max_length=100)
    file = models.FileField(upload_to='')


class FileSerializer(serialisers.ModelSerializer):
    class Meta:
        model = File
        fields = '__all__'

def files_list(request):
    files = File.objects.all()
    serialiser = FileSerializer(files, many=True, context={'request': request})
    return Response(serialiser.data)

Я получаю

[{
"id": 1,
"name": "demo",
"file": "http://domain-name.com/media/image.png"
}]

Я хочу, чтобы это было

[{
"id": 1,
"name": "demo",
"file": "https://domain-name.com/media/image.png"
}]
<
proxy_set_header X-Forwarded-Proto https;

Затем в настройках Django добавьте следующее:

USE_X_FORWARDED_HOST = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

А проблема не устранена, что мне делать, чтобы решить ее?

Текущий запрос необходимо передать сериализатору в контексте, чтобы ваше поле FileField могло определить правильный протокол

serializer = FooSerializer(foo_instance, context={'request': request})
serializer.data
Вернуться на верх