mirror of https://github.com/django/django.git
Refs #30997 -- Removed HttpRequest.is_ajax() per deprecation timeline.
This commit is contained in:
parent
90c59b4e12
commit
d08977a0f0
|
@ -1,7 +1,6 @@
|
|||
import cgi
|
||||
import codecs
|
||||
import copy
|
||||
import warnings
|
||||
from io import BytesIO
|
||||
from itertools import chain
|
||||
from urllib.parse import parse_qsl, quote, urlencode, urljoin, urlsplit
|
||||
|
@ -16,7 +15,6 @@ from django.http.multipartparser import MultiPartParser, MultiPartParserError
|
|||
from django.utils.datastructures import (
|
||||
CaseInsensitiveMapping, ImmutableList, MultiValueDict,
|
||||
)
|
||||
from django.utils.deprecation import RemovedInDjango40Warning
|
||||
from django.utils.encoding import escape_uri_path, iri_to_uri
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.http import is_same_domain
|
||||
|
@ -266,15 +264,6 @@ class HttpRequest:
|
|||
def is_secure(self):
|
||||
return self.scheme == 'https'
|
||||
|
||||
def is_ajax(self):
|
||||
warnings.warn(
|
||||
'request.is_ajax() is deprecated. See Django 3.1 release notes '
|
||||
'for more details about this deprecation.',
|
||||
RemovedInDjango40Warning,
|
||||
stacklevel=2,
|
||||
)
|
||||
return self.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'
|
||||
|
||||
@property
|
||||
def encoding(self):
|
||||
return self._encoding
|
||||
|
|
|
@ -425,23 +425,6 @@ Methods
|
|||
<django.views.decorators.vary.vary_on_headers>` so that the responses are
|
||||
properly cached.
|
||||
|
||||
.. method:: HttpRequest.is_ajax()
|
||||
|
||||
.. deprecated:: 3.1
|
||||
|
||||
Returns ``True`` if the request was made via an ``XMLHttpRequest``, by
|
||||
checking the ``HTTP_X_REQUESTED_WITH`` header for the string
|
||||
``'XMLHttpRequest'``. Most modern JavaScript libraries send this header.
|
||||
If you write your own ``XMLHttpRequest`` call (on the browser side), you'll
|
||||
have to set this header manually if you want ``is_ajax()`` to work.
|
||||
|
||||
If a response varies on whether or not it's requested via AJAX and you are
|
||||
using some form of caching like Django's :mod:`cache middleware
|
||||
<django.middleware.cache>`, you should decorate the view with
|
||||
:func:`vary_on_headers('X-Requested-With')
|
||||
<django.views.decorators.vary.vary_on_headers>` so that the responses are
|
||||
properly cached.
|
||||
|
||||
.. method:: HttpRequest.read(size=None)
|
||||
.. method:: HttpRequest.readline()
|
||||
.. method:: HttpRequest.readlines()
|
||||
|
|
|
@ -275,3 +275,5 @@ to remove usage of these features.
|
|||
* The ``django.db.models.query_utils.InvalidQuery`` exception class is removed.
|
||||
|
||||
* The ``django-admin.py`` entry point is removed.
|
||||
|
||||
* The ``HttpRequest.is_ajax()`` method is removed.
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
from django.http import HttpRequest
|
||||
from django.test import SimpleTestCase, ignore_warnings
|
||||
from django.utils.deprecation import RemovedInDjango40Warning
|
||||
|
||||
|
||||
@ignore_warnings(category=RemovedInDjango40Warning)
|
||||
class TestDeprecatedIsAjax(SimpleTestCase):
|
||||
def test_is_ajax(self):
|
||||
request = HttpRequest()
|
||||
self.assertIs(request.is_ajax(), False)
|
||||
request.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
|
||||
self.assertIs(request.is_ajax(), True)
|
Loading…
Reference in New Issue