I'm confused about the dropbox_url field inside Gfile. This calls the "shares" API, which returns a URL that's only valid for a limited time ("at least a day"). So why are we saving it inside the model?
Also, every API call is expensive, so we should probably not even be using this URL in our views since users won't click on the vast majority of files. How about we wait until the user clicks on the link to see the share, then redirect him to a newly-fetched dropbox url?