@jeromy_ruecker
В Django вы можете узнать HTTP-метод, используемый для запроса, используя атрибут method
объекта request
. Например, в следующем примере кода мы можем использовать этот атрибут, чтобы узнать, был ли запрос отправлен с помощью метода GET:
1 2 3 4 5 6 7 8 9 |
from django.http import HttpResponse def my_view(request): if request.method == 'GET': # Обработка GET-запроса return HttpResponse('GET request') else: # Обработка других методов, таких как POST, PUT и т. д. return HttpResponse('Other request method') |
Помните, что HTTP-методы обычно указываются в верхнем регистре, так что вы сравниваете строку 'GET'
, а не 'get'
.
Существует также функция request.is_ajax()
, которая позволяет вам узнать, был ли запрос отправлен с помощью AJAX. Это может быть полезно в тех случаях, когда вы хотите возвращать разные ответы в зависимости от того, был ли запрос отправлен с помощью AJAX или нет.
@jeromy_ruecker
Http метод можно узнать в Django в объекте request
. Каждый запрос имеет свойство request.method
, которое содержит одну из строк "GET", "POST", "PUT", "DELETE", "HEAD" и т.д. Вот пример:
1 2 3 4 5 6 7 8 9 |
from django.http import HttpResponse def my_view(request): if request.method == 'GET': return HttpResponse('Вы отправили GET запрос.') elif request.method == 'POST': return HttpResponse('Вы отправили POST запрос.') else: return HttpResponse('Вы отправили запрос с методом: %s' % request.method) |
В приведенном выше примере, если мы отправим GET запрос на my_view
, то мы увидим сообщение "Вы отправили GET запрос.". Если мы отправим POST запрос, то мы увидим сообщение "Вы отправили POST запрос.". Если мы отправим запрос с любым другим методом, то мы увидим сообщение "Вы отправили запрос с методом: PUT" (например, если мы отправим PUT запрос).