Browse Source

Fixed #15590 -- Documented how the path of a FileField can be changed.

Thanks simon29 for report, and freakboy3742, floledermann,
jacob, claudep and collinanderson for discussing the task.
Jorge Barata González 10 years ago
parent
commit
931a340f1f
1 changed files with 17 additions and 0 deletions
  1. 17 0
      docs/topics/files.txt

+ 17 - 0
docs/topics/files.txt

@@ -55,6 +55,23 @@ it has all the methods and attributes described below.
     file name used on disk cannot be relied on until after the model has been
     saved.
 
+For example, you can change the file name by setting the file's
+:attr:`~django.core.files.File.name` to a path relative to the file storage's
+location (:setting:`MEDIA_ROOT` if you are using the default
+:class:`~django.core.files.storage.FileSystemStorage`)::
+
+    >>> import os
+    >>> from django.conf import settings
+    >>> initial_path = car.photo.path
+    >>> car.photo.name = 'cars/chevy_ii.jpg'
+    >>> new_path = settings.MEDIA_ROOT + car.photo.name
+    >>> # Move the file on the filesystem
+    >>> os.rename(initial_path, new_path)
+    >>> car.save()
+    >>> car.photo.path
+    '/media/cars/chevy_ii.jpg'
+    >>> car.photo.path == new_path
+    True
 
 The ``File`` object
 ===================