почему мы проверяем, является ли запрос Post в django Views.py? - PullRequest
0 голосов
/ 13 марта 2019

Я новичок в Django, поэтому во время обучения я кое-что нашел.

Некоторые люди делают проверку запросов, например

def register(request):
    if request.method =='POST':
        # Register user
        redirect()
    else:
        return render(request,'accounts/register.html')

Так что я нашел это ненужным, потому что действие иметод уже указан в моей HTML-форме.

<form action="{% url 'register' %}" method="POST">

Так что для меня это не имеет смысла, так как мы только публикуем запрос на регистрацию.

Я ошибаюсь?

Спасибо за ваше время.

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Отправляются запросы на отправку любого пользовательского ввода в серверную часть. Чтобы просто сформулировать ваш запрос, это основной поток веб-программы:

  1. Каждый раз, когда пользователь заходит на сайт, вводя URL (https://example.com),, запрос GET отправляется на сервер как GET / [status_code]. Таким образом, даже если шаблон в запрошенном URL содержит 'POST' 'сначала необходимо выполнить запрос GET.
  2. Теперь, если пользователь заполняет форму и отправляет данные с помощью метода POST, сервер получает запрос как POST / [status_code].

Следовательно, для обработки обоих типов запросов вам необходимо проверить метод запроса, который выполняется. Я думаю, что я ответил на ваш запрос.

0 голосов
/ 13 марта 2019

Здесь вы используете представление для запросов GET и POST .Более подробное объяснение приведено в коде ниже:

def register(request):
    if request.method =='POST':  # comes here when you are making a post request via submitting the form
        # Register user
        redirect()
    else:  # if you are making a get request, then code goes to this block
        return render(request,'accounts/register.html')  # this is for rendering the html page when you hit the url
...