Browse files

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

Thanks sailorfred AT for the report and raulcd
for the initial version of the patch.
  • Loading branch information...
1 parent 17f3e92 commit 875c76251710c9b643a4e6164b5570713fe024f5 @aaugustin aaugustin committed Jun 7, 2012
Showing with 18 additions and 6 deletions.
  1. +2 −1 AUTHORS
  2. +16 −5 docs/topics/testing.txt
@@ -136,9 +136,10 @@ answer newbie questions, and generally made Django that much better:
Robert Coup
Pete Crosier <>
Matt Croydon <>
+ Jure Cuhalev <>
Leah Culver <>
+ Raúl Cumplido <>
- Jure Cuhalev <>
John D'Agostino <>
Jim Dalton <>
@@ -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
performed by your site.
- .. versionadded:: 1.2.2
If, for some reason, you *want* the test client to perform CSRF
checks, you can create an instance of the test client that
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
-Use the ``django.test.client.Client`` class to make requests. It requires no
-arguments at time of construction:
+Use the ``django.test.client.Client`` class to make requests.
+.. 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:``, etc. have precedence over
+ the defaults passed to the class constructor.
-.. class:: Client()
+ 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

0 comments on commit 875c762

Please sign in to comment.