From 9083b76f1d91a5b7dbca272c796120b7f2ff5327 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Fri, 22 Mar 2024 17:56:46 -0400 Subject: [PATCH] feat: expose the image URL as `url` to avoid mixed-content media warnings --- program/serializers.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/program/serializers.py b/program/serializers.py index fb41a215..04db8b51 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -265,6 +265,7 @@ class ImageSerializer(serializers.ModelSerializer): ) ppoi = PPOIField(required=False) thumbnails = serializers.SerializerMethodField() + url = serializers.SerializerMethodField() @staticmethod def get_thumbnails(instance) -> List[Thumbnail]: @@ -284,12 +285,22 @@ class ImageSerializer(serializers.ModelSerializer): return thumbnails + @staticmethod + def get_url(instance: Image) -> str: + """Returns the image URL, using settings.SITE_URL to include the protocol and avoid mixed + media warnings.""" + + return f"{settings.SITE_URL}{instance.image.url}" + class Meta: + # TODO: make `image` a write-only field once dashboard is updated to read from `url` + # extra_kwargs = {"image": {"write_only": True}} model = Image read_only_fields = ( "height", "id", "thumbnails", + "url", "width", ) fields = ( -- GitLab