This document describes Django 1.1. For development docs, go here.
File storage API¶
Storage.exists(name)¶
True if a file exists given some name.
Storage.path(name)¶
The local filesystem path where the file can be opened using Python’s standard open(). For storage systems that aren’t accessible from the local filesystem, this will raise NotImplementedError instead.
Storage.size(name)¶
Returns the total size, in bytes, of the file referenced by name.
Storage.url(name)¶
Returns the URL where the contents of the file referenced by name can be accessed.
Storage.open(name, mode='rb')¶
Opens the file given by name. Note that although the returned file is guaranteed to be a File object, it might actually be some subclass. In the case of remote file storage this means that reading/writing could be quite slow, so be warned.
Storage.save(name, content)¶
Saves a new file using the storage system, preferably with the name specified. If there already exists a file with this name name, the storage system may modify the filename as necessary to get a unique name. The actual name of the stored file will be returned.
The content argument must be an instance of django.core.files.File or of a subclass of File.
Storage.delete(name)¶
Deletes the file referenced by name. This method won’t raise an exception if the file doesn’t exist.
Questions/Feedback
Having trouble? We'd like to help!
- Try the FAQ -— it's got answers to many common questions.
- Search for information in the archives of the django-users mailing list, or post a question.
- Ask a question in the #django IRC channel, or search the IRC logs to see if its been asked before.
- If you notice errors with this documentation, please open a ticket and let us know! Please only use the ticket tracker for criticisms and improvements on the docs. For tech support, use the resources above.

