Автор оригинала: Pankaj Kumar.
В этом уроке мы узнаем о перенаправлении колбы и о том, как использовать его в нашем приложении.
Зачем нам нужно настраивать перенаправления?
Прежде чем перейти к реализации, давайте сначала узнаем, что такое перенаправление на самом деле!
Таким образом, как следует из названия, функция redirect при вызове в основном перенаправляет веб-страницу на другой URL-адрес.
Это является неотъемлемой частью веб – приложений, а также повышает эффективность приложения.
- Возьмем пример Twitter; если вы еще не вошли в систему, то при нажатии на URL Twitter (www.twitter.com), сначала вы будете перенаправлены на страницу входа в систему. Здесь свою роль играет функция redirect|/. Аналогично, во время онлайн-транзакции, как только платеж будет произведен, вы будете перенаправлены на страницу подтверждения.
- Еще одним преимуществом перенаправления является то, что оно помогает сократить URL—адрес-например,
- https://bit.ly . Здесь вы вводите короткий URL-адрес, а затем перенаправляетесь на исходный длинный.
Теперь, когда мы знаем, почему он используется, давайте перейдем к практическому разделу.
Реализация перенаправления колбы
Теперь мы закодируем небольшое приложение, используя функцию перенаправления колбы. Но сначала мы увидим синтаксис функции redirect.
1. Синтаксис атрибута перенаправления колбы
Синтаксис перенаправления:
redirect(location, code, response = None)
где:
- местоположение: Целевое местоположение конечной веб – страницы
- Код состояния : Это код состояния перенаправления HTTP, указывающий на результат действия. По умолчанию 302
- Ответ: Класс ответа для использования при инициировании ответа.
Сейчас нам не нужно сильно беспокоиться о последнем. Некоторые из других кодов состояния:
300 | Несколько Вариантов |
301 | Переехал Навсегда |
302 | Нашел |
303 | См. Другие |
304 | Не Изменено |
305 | Использовать Прокси |
306 | Зарезервированный |
307 | Временное перенаправление |
Примечание: Нам сначала нужно импортировать атрибут перенаправления, прежде чем использовать его.
from flask import redirect
2. Обработка ошибок при перенаправлении
Flask также имеет функцию abort() для особых случаев сбоя перенаправления.
Синтаксис функции abort() :
abort()
Различные коды ошибок следующие:
Плохой запрос | 400 |
Не прошедший проверку подлинности | 401 |
Запрещенный | 403 |
не найдено | 404 |
Неприемлемо | 406 |
Неподдерживаемый Тип носителя | 415 |
Слишком Много Запросов | 429 |
Примечание: Нам также нужно сначала импортировать этот атрибут.
from flask import abort
3. Код для нашего приложения
Теперь рассмотрим следующий пример кода:
from flask import Flask,render_template,request,redirect app = Flask(__name__) @app.route('/form') def form(): return render_template('form.html') @app.route('/verify', methods = ['POST', 'GET']) def verify(): if request.method == 'POST': name = request.form['name'] return redirect(f"/user/{name}") @app.route('/user/') def user(name): return f"Your name is {name}" app.run(host='localhost', port=5000)
Здесь:
- В представлении Form просто отображается шаблон формы для пользователя.
- Когда пользователь отправляет форму, данные формы отправляются вместе с запросом в Verify View. (Посмотрите на form.html – атрибут действия)
- Проверить Представление, извлекает имя данные из формы и затем перенаправляет пользователя на Пользователя Представление (вместе с именем данными).
Пожалуйста, ознакомьтесь с нашей статьей Введение в колбу , если у вас возникли проблемы с пониманием синтаксиса.
В form.html есть:
Мы используем форму колбы, чтобы принять ввод от пользователя, а затем перенаправить его на веб-страницу, содержащую имя назад.
Здесь последовательность такова::
- Функция form отображает форму.
- Как только пользователь отправляет свое имя, функция verify извлекает имя из формы и перенаправляет его на функцию User .
- Функция User принимает имя в качестве аргумента и отображает его на веб-странице.
4. Реализация Кодекса
Теперь запустите сервер и проверьте его
Нажмите отправить
Вот и все, ребята !! Имя появляется там, наверху.
Вывод
Вот и все, ребята, для этого урока !! Попробуйте выяснить, как включить функцию прерывания в свой код в качестве практики.
Мы увидимся с вами, ребята, в следующей статье !! До тех пор счастливого кодирования 🙂