Как узнать http метод в django?

Пользователь

от jeromy_ruecker , в категории: Python , 2 года назад

Как узнать http метод в django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kurt , 2 года назад

@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 или нет.

Пользователь

от willa_will , год назад

@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 запрос).