diff --git a/program/serializers.py b/program/serializers.py index fb41a215b2079049c82e281a6871c8133a42c2c8..04db8b51ab1c021135ddb7bfa44de129dbe1ed96 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 = (