From 61badf1d58e79b84874afa6a1e00b79f20e786d1 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Thu, 2 Jun 2022 13:03:34 -0400 Subject: [PATCH] Fixed #33757 -- Clarified Client.post() file upload example. --- docs/topics/testing/tools.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt index c4b41d5365..bec54d7568 100644 --- a/docs/topics/testing/tools.txt +++ b/docs/topics/testing/tools.txt @@ -241,15 +241,14 @@ Use the ``django.test.Client`` class to make requests. Submitting files is a special case. To POST a file, you need only provide the file field name as a key, and a file handle to the file you - wish to upload as a value. For example:: + wish to upload as a value. For example, if your form has fields + ``name`` and ``attachment``, the latter a + :class:`~django.forms.FileField`:: >>> c = Client() >>> with open('wishlist.doc', 'rb') as fp: ... c.post('/customers/wishes/', {'name': 'fred', 'attachment': fp}) - (The name ``attachment`` here is not relevant; use whatever name your - file-processing code expects.) - You may also provide any file-like object (e.g., :class:`~io.StringIO` or :class:`~io.BytesIO`) as a file handle. If you're uploading to an :class:`~django.db.models.ImageField`, the object needs a ``name``