default_storage is better than
You can save file to
FileSystemStorage but when you change
DEFAULT_FILE_STORAGE backend in the future this may not work anymore.
If you use
default_storage, in the future if you want to use aws, azure etc as file store with multiple Django worker your code will work without any change.
default_storage usage example:
from django.core.files.storage import default_storage # Saving POST'ed file to storage file = request.FILES['myfile'] file_name = default_storage.save(file.name, file) # Reading file from storage file = default_storage.open(file_name) file_url = default_storage.url(file_name)