aboutsummaryrefslogtreecommitdiffstats
path: root/api-guide/requests.html
diff options
context:
space:
mode:
Diffstat (limited to 'api-guide/requests.html')
-rw-r--r--api-guide/requests.html99
1 files changed, 50 insertions, 49 deletions
diff --git a/api-guide/requests.html b/api-guide/requests.html
index 6e8abc37..ee15a0a8 100644
--- a/api-guide/requests.html
+++ b/api-guide/requests.html
@@ -4,6 +4,7 @@
<meta charset="utf-8">
<title>Django REST framework - Requests</title>
<link href="http://django-rest-framework.org/img/favicon.ico" rel="icon" type="image/x-icon">
+ <link rel="canonical" href="http://django-rest-framework.org/api-guide/requests"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Django, API, REST, Requests, Request parsing, Authentication, Browser enhancements, Standard HttpRequest attributes">
<meta name="author" content="Tom Christie">
@@ -41,8 +42,8 @@
<div class="navbar-inner">
<div class="container-fluid">
<a class="repo-link btn btn-primary btn-small" href="https://github.com/tomchristie/django-rest-framework/tree/master">GitHub</a>
- <a class="repo-link btn btn-inverse btn-small " href="../api-guide/responses.html">Next <i class="icon-arrow-right icon-white"></i></a>
- <a class="repo-link btn btn-inverse btn-small " href="../tutorial/6-viewsets-and-routers.html"><i class="icon-arrow-left icon-white"></i> Previous</a>
+ <a class="repo-link btn btn-inverse btn-small " href="../api-guide/responses">Next <i class="icon-arrow-right icon-white"></i></a>
+ <a class="repo-link btn btn-inverse btn-small " href="../tutorial/6-viewsets-and-routers"><i class="icon-arrow-left icon-white"></i> Previous</a>
<a class="repo-link btn btn-inverse btn-small" href="#searchModal" data-toggle="modal"><i class="icon-search icon-white"></i> Search</a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
@@ -56,56 +57,56 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorial <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/tutorial/quickstart.html">Quickstart</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/1-serialization.html">1 - Serialization</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses.html">2 - Requests and responses</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views.html">3 - Class based views</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html">4 - Authentication and permissions</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html">5 - Relationships and hyperlinked APIs</a></li>
- <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers.html">6 - Viewsets and routers</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/quickstart">Quickstart</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/1-serialization">1 - Serialization</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/2-requests-and-responses">2 - Requests and responses</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/3-class-based-views">3 - Class based views</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/4-authentication-and-permissions">4 - Authentication and permissions</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis">5 - Relationships and hyperlinked APIs</a></li>
+ <li><a href="http://django-rest-framework.org/tutorial/6-viewsets-and-routers">6 - Viewsets and routers</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Guide <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/api-guide/requests.html">Requests</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/responses.html">Responses</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/views.html">Views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/generic-views.html">Generic views</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/viewsets.html">Viewsets</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/routers.html">Routers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/parsers.html">Parsers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/renderers.html">Renderers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/serializers.html">Serializers</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/fields.html">Serializer fields</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/relations.html">Serializer relations</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/authentication.html">Authentication</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/permissions.html">Permissions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/throttling.html">Throttling</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/filtering.html">Filtering</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/pagination.html">Pagination</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/content-negotiation.html">Content negotiation</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/format-suffixes.html">Format suffixes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/reverse.html">Returning URLs</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/exceptions.html">Exceptions</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/status-codes.html">Status codes</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/testing.html">Testing</a></li>
- <li><a href="http://django-rest-framework.org/api-guide/settings.html">Settings</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/requests">Requests</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/responses">Responses</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/views">Views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/generic-views">Generic views</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/viewsets">Viewsets</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/routers">Routers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/parsers">Parsers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/renderers">Renderers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/serializers">Serializers</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/fields">Serializer fields</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/relations">Serializer relations</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/authentication">Authentication</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/permissions">Permissions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/throttling">Throttling</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/filtering">Filtering</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/pagination">Pagination</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/content-negotiation">Content negotiation</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/format-suffixes">Format suffixes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/reverse">Returning URLs</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/exceptions">Exceptions</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/status-codes">Status codes</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/testing">Testing</a></li>
+ <li><a href="http://django-rest-framework.org/api-guide/settings">Settings</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Topics <b class="caret"></b></a>
<ul class="dropdown-menu">
- <li><a href="http://django-rest-framework.org/topics/documenting-your-api.html">Documenting your API</a></li>
- <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors.html">AJAX, CSRF & CORS</a></li>
- <li><a href="http://django-rest-framework.org/topics/browser-enhancements.html">Browser enhancements</a></li>
- <li><a href="http://django-rest-framework.org/topics/browsable-api.html">The Browsable API</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas.html">REST, Hypermedia & HATEOAS</a></li>
- <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement.html">2.0 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.2-announcement.html">2.2 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/2.3-announcement.html">2.3 Announcement</a></li>
- <li><a href="http://django-rest-framework.org/topics/release-notes.html">Release Notes</a></li>
- <li><a href="http://django-rest-framework.org/topics/credits.html">Credits</a></li>
+ <li><a href="http://django-rest-framework.org/topics/documenting-your-api">Documenting your API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/ajax-csrf-cors">AJAX, CSRF & CORS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browser-enhancements">Browser enhancements</a></li>
+ <li><a href="http://django-rest-framework.org/topics/browsable-api">The Browsable API</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-hypermedia-hateoas">REST, Hypermedia & HATEOAS</a></li>
+ <li><a href="http://django-rest-framework.org/topics/rest-framework-2-announcement">2.0 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.2-announcement">2.2 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/2.3-announcement">2.3 Announcement</a></li>
+ <li><a href="http://django-rest-framework.org/topics/release-notes">Release Notes</a></li>
+ <li><a href="http://django-rest-framework.org/topics/credits">Credits</a></li>
</ul>
</li>
</ul>
@@ -228,10 +229,10 @@
<li>It supports parsing the content of HTTP methods other than <code>POST</code>, meaning that you can access the content of <code>PUT</code> and <code>PATCH</code> requests.</li>
<li>It supports REST framework's flexible request parsing, rather than just supporting form data. For example you can handle incoming JSON data in the same way that you handle incoming form data.</li>
</ul>
-<p>For more details see the <a href="parsers.html">parsers documentation</a>.</p>
+<p>For more details see the <a href="parsers">parsers documentation</a>.</p>
<h2 id="files">.FILES</h2>
<p><code>request.FILES</code> returns any uploaded files that may be present in the content of the request body. This is the same as the standard <code>HttpRequest</code> behavior, except that the same flexible request parsing is used for <code>request.DATA</code>.</p>
-<p>For more details see the <a href="parsers.html">parsers documentation</a>.</p>
+<p>For more details see the <a href="parsers">parsers documentation</a>.</p>
<h2 id="query_params">.QUERY_PARAMS</h2>
<p><code>request.QUERY_PARAMS</code> is a more correctly named synonym for <code>request.GET</code>.</p>
<p>For clarity inside your code, we recommend using <code>request.QUERY_PARAMS</code> instead of the usual <code>request.GET</code>, as <em>any</em> HTTP method type may include query parameters.</p>
@@ -252,11 +253,11 @@
<h2 id="user">.user</h2>
<p><code>request.user</code> typically returns an instance of <code>django.contrib.auth.models.User</code>, although the behavior depends on the authentication policy being used.</p>
<p>If the request is unauthenticated the default value of <code>request.user</code> is an instance of <code>django.contrib.auth.models.AnonymousUser</code>.</p>
-<p>For more details see the <a href="authentication.html">authentication documentation</a>.</p>
+<p>For more details see the <a href="authentication">authentication documentation</a>.</p>
<h2 id="auth">.auth</h2>
<p><code>request.auth</code> returns any additional authentication context. The exact behavior of <code>request.auth</code> depends on the authentication policy being used, but it may typically be an instance of the token that the request was authenticated against.</p>
<p>If the request is unauthenticated, or if no additional context is present, the default value of <code>request.auth</code> is <code>None</code>.</p>
-<p>For more details see the <a href="authentication.html">authentication documentation</a>.</p>
+<p>For more details see the <a href="authentication">authentication documentation</a>.</p>
<h2 id="authenticators">.authenticators</h2>
<p>The <code>APIView</code> class or <code>@api_view</code> decorator will ensure that this property is automatically set to a list of <code>Authentication</code> instances, based on the <code>authentication_classes</code> set on the view or based on the <code>DEFAULT_AUTHENTICATORS</code> setting.</p>
<p>You won't typically need to access this property.</p>
@@ -266,17 +267,17 @@
<h2 id="method">.method</h2>
<p><code>request.method</code> returns the <strong>uppercased</strong> string representation of the request's HTTP method.</p>
<p>Browser-based <code>PUT</code>, <code>PATCH</code> and <code>DELETE</code> forms are transparently supported.</p>
-<p>For more information see the <a href="../topics/browser-enhancements.html">browser enhancements documentation</a>. </p>
+<p>For more information see the <a href="../topics/browser-enhancements">browser enhancements documentation</a>. </p>
<h2 id="content_type">.content_type</h2>
<p><code>request.content_type</code>, returns a string object representing the media type of the HTTP request's body, or an empty string if no media type was provided.</p>
<p>You won't typically need to directly access the request's content type, as you'll normally rely on REST framework's default request parsing behavior.</p>
<p>If you do need to access the content type of the request you should use the <code>.content_type</code> property in preference to using <code>request.META.get('HTTP_CONTENT_TYPE')</code>, as it provides transparent support for browser-based non-form content.</p>
-<p>For more information see the <a href="../topics/browser-enhancements.html">browser enhancements documentation</a>. </p>
+<p>For more information see the <a href="../topics/browser-enhancements">browser enhancements documentation</a>. </p>
<h2 id="stream">.stream</h2>
<p><code>request.stream</code> returns a stream representing the content of the request body.</p>
<p>You won't typically need to directly access the request's content, as you'll normally rely on REST framework's default request parsing behavior.</p>
<p>If you do need to access the raw content directly, you should use the <code>.stream</code> property in preference to using <code>request.content</code>, as it provides transparent support for browser-based non-form content.</p>
-<p>For more information see the <a href="../topics/browser-enhancements.html">browser enhancements documentation</a>. </p>
+<p>For more information see the <a href="../topics/browser-enhancements">browser enhancements documentation</a>. </p>
<hr />
<h1 id="standard-httprequest-attributes">Standard HttpRequest attributes</h1>
<p>As REST framework's <code>Request</code> extends Django's <code>HttpRequest</code>, all the other standard attributes and methods are also available. For example the <code>request.META</code> and <code>request.session</code> dictionaries are available as normal.</p>