Автор оригинала: Abdur-Rahmaan Janhangeer.
Предыдущая: Часть 3: Маршруты
Этот пост является ссылкой на то, что вам нужно, чтобы вернуть/колбу ответов. Не стесняйтесь вернуться снова. Я настроил все в этом репо:
DeliciClask-4.1
Это пост, который я хотел бы иметь, когда я начал колбу.
В репо появляются разные виды возврата, давайте начнем с возврата строки.
Возвращая строки
Собираюсь http://127.0.0.1:5000/ дает нам Главная
Как настроен здесь:
@app.route('/') def index(): return 'home'
Возвращение целых чисел
@app.route('/return-int') def return_int(): return 1
Собираюсь http://127.0.0.1:5000/returnint дает нам:
Как невозможно вернуть целые числа. Вся линия ошибки говорит
TypeError: функция представления не вернула допустимого ответа. Тип возврата должен быть строка, Dict, Tuple, экземпляр ответа или WSGI Callable, но это был int.
Итак, вы знаете, что вернуть.
Возвращение json.
В Python словари, словари были специально разработаны, чтобы подражать JSON для удобной передачи форматов. Мы используем Jonsify, чтобы преобразовать словарь в ответ JSON.
@app.route('/return-json') def return_json(): data = { 'name': 'Umar', 'address': 'Port Louis, Mauritius', 'age': 15, 'has_pass': True } return jsonify(data)
Собираюсь http://127.0.0.1:5000/return-json дает нам:
Обратите внимание, что Правда
Вернулся стал JavaScript правда
Наше целое число 15 превратилось в целое число JavaScript, и наша строка стала строкой JavaScript, хотя она выглядит одинаково. JSON означает объект JavaScript.
Возвращая HTML
При возврате строки вы фактически возвращаете HTML-строки.
@app.route('/return-html') def return_html(): return 'I am a BIG header enclosed in a h1 tag
'
Собираюсь http://127.0.0.1:5000/return-html дает нам:
Но, конечно, не удобно вернуть целые файлы.
Давайте посмотрим, как вернуть файлы
Обратные файлы
@app.route('/return-file') def return_file(): return render_template('index.html')
Собираюсь http://127.0.0.1:5000/return-html Дает нам пустую страницу … Попробуйте поместить HTML в файл индекса, найденный в папке шаблонов. Флэк ищет файлы в папке с именем шаблонов по умолчанию.
Перенаправлять
@app.route('/redirect-home') def return_redirect(): return redirect('/')
Собираюсь http://127.0.0.1:5000/redirect-home Перенаправляет до http://127.0.0.1:5000/
Перенаправить на функцию
@app.route('/redirect-function-html') def return_redirect_function(): return redirect(url_for('return_html'))
Собираюсь http://127.0.0.1:5000/redirect-function-html Перенаправляет до http://127.0.0.1:5000/return-html.
URL_FOL поиск функции и возвращает ответ
Перенаправить в случае чертежей
Хотя мы будем покрывать чертежи позже, включая этот здесь, чтобы служить ссылкой
Допустим, у вас есть план с названием книга
Отказ Вы хотите перенаправить на функцию с именем индекс
Отказ Вы делаете это так:
return redirect(url_for('book.index'))
Надеюсь, вам понравился этот сводный лист! Оставайтесь настроиться на следующую часть!
Моя почта, если вы не поняли что-то: arj.python at gmail dot com
У вас есть что-то, что вы хотели бы увидеть в этой серии? Скажи мне ниже!