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
This commit is contained in:
Timo Graham 2010-11-28 20:14:04 +00:00
parent 22d4ecb19b
commit 2fa0fd2d0c
1 changed files with 21 additions and 8 deletions

View File

@ -29,7 +29,7 @@ methods:
The URL where the file can be retrieved. This is often useful in The URL where the file can be retrieved. This is often useful in
:doc:`templates </topics/templates>`; for example, a bit of a template for :doc:`templates </topics/templates>`; for example, a bit of a template for
displaying a ``Car`` (see above) might look like: displaying a ``Car`` (see above) might look like:
.. code-block:: html+django .. code-block:: html+django
<img src='{{ car.photo.url }}' alt='{{ car.name }}' /> <img src='{{ car.photo.url }}' alt='{{ car.name }}' />
@ -81,13 +81,13 @@ methods:
.. currentmodule:: django.core.files.images .. currentmodule:: django.core.files.images
Additional ``ImageField`` attributes Additional ``ImageFile`` attributes
------------------------------------ ------------------------------------
.. class:: ImageFile(file_object) .. class:: ImageFile(file_object)
.. attribute:: width .. attribute:: width
Width of the image. Width of the image.
.. attribute:: height .. 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 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 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:: be called once the file is saved. That is, these two lines::
>>> car.photo.save('myphoto.jpg', contents, save=False) >>> car.photo.save('myphoto.jpg', contents, save=False)
>>> car.save() >>> car.save()
are the same as this one line:: are the same as this one line::
>>> car.photo.save('myphoto.jpg', contents, save=True) >>> car.photo.save('myphoto.jpg', contents, save=True)
Note that the ``content`` argument must be an instance of 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]) .. method:: File.delete([save=True])
Remove the file from the model instance and delete the underlying file. The Remove the file from the model instance and delete the underlying file. The
``save`` argument works as above. ``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'))