HttpRequest
Location: django.http
Represents an incoming HTTP request, including all HTTP headers and user-submitted data. For information, see the documentation.
Attributes
Unless otherwise noted, all attributes should be treated as read-only. Additional attributes may be added by middleware, as defined in a project's settings. Some attributes commonly added by middleware are listed here as well, with a link to the middleware documentation.
| path | String containing the full path (not including domain) of the URL requested |
| method | String containing the HTTP method used by the request ('GET' or 'POST') |
| GET | A QueryDict? representing form values submitted using the HTTP GET method |
| POST | A QueryDict? representing form values submitted using the HTTP POST method |
| raw_post_data | Unprocessed text of the complete POST data, only used in advanced cases, where POST data cannot be parsed into a QueryDict |
| COOKIES | A dictionary of cookies sent by the browser during the request |
| META | A dictionary of included HTTP headers; available headers will vary based on client and server |
| user | A User (or AnonymousUser) object from the authentication middleware |
| session | A special read-write dictionary provided by the sessions middleware |
Methods
| build_absolute_uri(location) | Returns an absolute URI for the given location, whether that be relative or absolute |
| has_key(key) | Returns True if the given key was provided in the request (GET or POST). False otherwise |
| get_full_path() | Returns the full request string, including any query string that was provided |
| is_secure() | Returns True if the request was made using HTTPS, False otherwise |
Dictionary Syntax
HttpRequest objects allow form data to be retrieved using standard Python dictionary syntax. It will check for GET data first, then POST. Like any dictionary, accessing a non-existant key will result in a KeyError. This access is read-only.
username = request['username']
