From 2fa0fd2d0cb48f2ea49b971b8e4a06684bad8c83 Mon Sep 17 00:00:00 2001 From: Timo Graham Date: Sun, 28 Nov 2010 20:14:04 +0000 Subject: [PATCH] Fixed #14762 - Add documention for ContentFile. Thanks jesh for the suggestion and adamv for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@14742 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/ref/files/file.txt | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/docs/ref/files/file.txt b/docs/ref/files/file.txt index 146ab4dd7e..652745c51c 100644 --- a/docs/ref/files/file.txt +++ b/docs/ref/files/file.txt @@ -29,7 +29,7 @@ methods: The URL where the file can be retrieved. This is often useful in :doc:`templates `; for example, a bit of a template for displaying a ``Car`` (see above) might look like: - + .. code-block:: html+django {{ car.name }} @@ -81,13 +81,13 @@ methods: .. currentmodule:: django.core.files.images -Additional ``ImageField`` attributes +Additional ``ImageFile`` attributes ------------------------------------ .. class:: ImageFile(file_object) .. attribute:: width - + Width of the image. .. attribute:: height @@ -108,18 +108,31 @@ above) will also have a couple of extra methods: replace the existing file, but will create a new file and update the object to point to it. If ``save`` is ``True``, the model's ``save()`` method will be called once the file is saved. That is, these two lines:: - + >>> car.photo.save('myphoto.jpg', contents, save=False) >>> car.save() - + are the same as this one line:: - + >>> car.photo.save('myphoto.jpg', contents, save=True) - + Note that the ``content`` argument must be an instance of - :class:`File` or of a subclass of :class:`File`. + :class:`File` or of a subclass of :class:`File` such as :class:`ContentFile`. .. method:: File.delete([save=True]) Remove the file from the model instance and delete the underlying file. The ``save`` argument works as above. + +``ContentFile`` objects +----------------------- + +.. class:: ContentFile(File) + +A ``ContentFile`` is a File-like object that takes string content, rather +than an actual file:: + + from django.core.files.base import ContentFile + + f1 = ContentFile("my string content") + f2 = ContentFile(u"my unicode content encoded as UTF-8".encode('UTF-8'))