Рубрики
Без рубрики

Колбу вкусное руководство: создание системы управления библиотекой Часть 4 – Сосредоточиться на ответах

Справочный комплект для откликов колба

Автор оригинала: Abdur-Rahmaan Janhangeer.

Предыдущая: Часть 3: Маршруты

Этот пост является ссылкой на то, что вам нужно, чтобы вернуть/колбу ответов. Не стесняйтесь вернуться снова. Я настроил все в этом репо:

DeliciClask-4.1

Это пост, который я хотел бы иметь, когда я начал колбу.

В репо появляются разные виды возврата, давайте начнем с возврата строки.

Возвращая строки

Alt Text.

Собираюсь 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 дает нам:

Alt Text.

Как невозможно вернуть целые числа. Вся линия ошибки говорит

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 дает нам:

Alt Text.

Обратите внимание, что Правда Вернулся стал 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 дает нам:

Alt Text.

Но, конечно, не удобно вернуть целые файлы.

Давайте посмотрим, как вернуть файлы

Обратные файлы

@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

У вас есть что-то, что вы хотели бы увидеть в этой серии? Скажи мне ниже!