Django Как проверить, что запрос является Ajax

Метод HttpRequest.is_ajax() устарел, поскольку он полагался на специфический для jQuery способ определения AJAX-вызовов, в то время как в настоящее время используется JavaScript Fetch API. В зависимости от вашего случая использования, вы можете либо написать свой собственный метод определения AJAX, либо использовать новый метод HttpRequest.accepts(), если ваш код зависит от HTTP-заголовка Accept клиента.

Если вы пишете собственный метод обнаружения AJAX, request.is_ajax() можно воспроизвести точно так

if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
    is_ajax = True
else:
    is_ajax = False
def is_ajax(request):
  return request.headers.get('x-requested-with') == 'XMLHttpRequest'
Вернуться на верх