Search code examples
djangotastypie

How to make tastypie give the url of a file instead of its path?


I'm using Django and Tastypie to create a RESTful web app. I have a model like this

class Picture(models.Model):
    # some other fields
    image = models.ImageField('Image')
    def image_url(self):
        return self.image.url

Tastypie will give the image's path but actually I need its url. How to write a correct resource api to achive this?


Solution

  • By default TastyPie is supposed to return URL of ImageField and FileField. See here: https://github.com/toastdriven/django-tastypie/blob/master/tastypie/fields.py#L185

    # Try to return the URL if it's a ``File``, falling back to the string
    # itself if it's been overridden or is a default.
    return getattr(value, 'url', value)
    

    Please make sure that you are using the latest version of TastyPie.