Fixed #16916 -- Documented default headers for the test client.

Thanks sailorfred AT yahoo.com for the report and raulcd
for the initial version of the patch.
This commit is contained in:
Aymeric Augustin 2012-06-07 12:51:48 +02:00
parent 17f3e9258e
commit 875c762517
2 changed files with 19 additions and 7 deletions

View File

@ -136,9 +136,10 @@ answer newbie questions, and generally made Django that much better:
Robert Coup Robert Coup
Pete Crosier <pete.crosier@gmail.com> Pete Crosier <pete.crosier@gmail.com>
Matt Croydon <http://www.postneo.com/> Matt Croydon <http://www.postneo.com/>
Leah Culver <leah.culver@gmail.com>
flavio.curella@gmail.com
Jure Cuhalev <gandalf@owca.info> Jure Cuhalev <gandalf@owca.info>
Leah Culver <leah.culver@gmail.com>
Raúl Cumplido <raulcumplido@gmail.com>
flavio.curella@gmail.com
John D'Agostino <john.dagostino@gmail.com> John D'Agostino <john.dagostino@gmail.com>
dackze+django@gmail.com dackze+django@gmail.com
Jim Dalton <jim.dalton@gmail.com> Jim Dalton <jim.dalton@gmail.com>

View File

@ -650,8 +650,6 @@ Note a few important things about how the test client works:
* By default, the test client will disable any CSRF checks * By default, the test client will disable any CSRF checks
performed by your site. performed by your site.
.. versionadded:: 1.2.2
If, for some reason, you *want* the test client to perform CSRF If, for some reason, you *want* the test client to perform CSRF
checks, you can create an instance of the test client that checks, you can create an instance of the test client that
enforces CSRF checks. To do this, pass in the enforces CSRF checks. To do this, pass in the
@ -664,10 +662,23 @@ Note a few important things about how the test client works:
Making requests Making requests
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
Use the ``django.test.client.Client`` class to make requests. It requires no Use the ``django.test.client.Client`` class to make requests.
arguments at time of construction:
.. class:: Client() .. class:: Client(enforce_csrf_checks=False, **defaults)
It requires no arguments at time of construction. However, you can use
keywords arguments to specify some default headers. For example, this will
send a ``User-Agent`` HTTP header in each request::
>>> c = Client(HTTP_USER_AGENT='Mozilla/5.0')
The values from the ``extra`` keywords arguments passed to
:meth:`~django.test.client.Client.get()`,
:meth:`~django.test.client.Client.post()`, etc. have precedence over
the defaults passed to the class constructor.
The ``enforce_csrf_checks`` argument can be used to test CSRF
protection (see above).
Once you have a ``Client`` instance, you can call any of the following Once you have a ``Client`` instance, you can call any of the following
methods: methods: