In windows (at least in XP, AFAICT), the file storage system can't delete temporary uploaded files as an exception is raised:
Traceback (most recent call last):
File "E:\Software\workspace\django\django\core\handlers\base.py", line 86, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "E:/Software/workspace/myproject/trunk/site/apps\projects\ajax_views\file_views.py", line 33, in upload_file
return files_ajax_views.upload_file(request, project.get_file_gallery())
File "E:/Software/workspace/myproject/trunk/site/apps\files\ajax_views.py", line 41, in upload_file
file.get_behaviour().save(uploaded_file)
File "E:/Software/workspace/myproject/trunk/site/apps\files\behaviours.py", line 90, in save
self.__class__.storage.save(self.get_filename(), uploaded_file)
File "E:\Software\workspace\django\django\core\files\storage.py", line 57, in save
self._save(name, content)
File "E:\Software\workspace\django\django\core\files\storage.py", line 154, in _save
file_move_safe(content.temporary_file_path(), full_path)
File "E:\Software\workspace\django\django\core\files\move.py", line 59, in file_move_safe
os.remove(old_file_name)
WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'E:\\temp_django_files\\zqix8a.upload'
In the traceback above, if you wonder what self.__class__.storage is, it actually refers to a FileSystemStorage instance:
storage = FileSystemStorage(location='/bla')
E:\\temp_django_files is the custom folder defined with FILE_UPLOAD_TEMP_DIR
It works fine, though, for small files that go under the FILE_UPLOAD_MAX_MEMORY_SIZE limit.