Найти в Дзене
Arduino и прочее

Python Flask. Давайте разберемся. (1)

Оглавление

Если ты читаешь это, то скорее всего ты решил начать свой путь в веб разработке на python и хотел бы разобраться в том, что такое flask и с чем его едят. Я постараюсь помочь в этом. Но гайд о flask растянется на несколько статей так как мне желательно бы написать побольше статей на дзен.

Для начала. Flask – это фреймворк для создания небольших проектов. Он подойдёт если вы хотите сделать например свой блог или первый сайт своего небольшого бизнеса. С его помощью можно создавать как просто статичные сайты с информацией, так и сайты с отправкой данных на сервер.

Итак. Для начала установим flask на ваш компьютер. Чтобы это сделать надо открыть терминал и написать такую команду:

pip install flask

Также будет работать если вы напишете

pip3 install flask

Время кода

Вы установили flask. Что делать дальше? Открывайте свой любимый редактор кода и действия начинаются.

Пример кода 1.
Пример кода 1.

Что же мы сделали в этом примере?

'''

from flask import Flask

'''

Подключаем к программе класс Flask из библиотеки flask.

'''

app = Flask(__name__)

'''

Создаём экземпляр класса Flask и присваиваем его переменной app. Получается что эта переменная становится экземпляром класса Flask

'''

@app.route('/')

'''

Тут мы создаём маршрут, который будет доступен из браузера.

'''

def home():

return "Hello, world!"

'''

Это функция, которая обязательно идёт после маршрута. В return пишется то, что должна вывести на экран эта функция. То есть "Hello world!" Будет выведено в окне браузера если зайти на адрес сервера по маршруту "/".

'''

if __name__ == '__main__':

app.run()

'''

Эта часть нужна чтобы проверить, является ли этот код главным. То есть запускается напрямую, а не импортируется. Если этот файл главный, то запускается app.run(). Запускается сервер и начинает слушать запросы.

Запуск

Разобрались с кодом. Давайте уже запустим код и зайдём в браузер посмотреть что получилось.

Скопировав данный в терминале адрес в строку поиска в браузере мы переходим по нему и видим строку Hello, world! Которую написали там.
Скопировав данный в терминале адрес в строку поиска в браузере мы переходим по нему и видим строку Hello, world! Которую написали там.

Что мы видим в терминале
Что мы видим в терминале

В терминале мы видим что программа запустилась. После Serving Flask app идёт название файла, который вы запустили. Debug mode: off означает что мы запустили сервер без дебаггера. Этот дебаггер в случае чего будет показывать ошибки прям на странице, которую сервер отправляет пользователю. Чтобы его включить мы должны просто написать app.run(debug=True) вместо app.run().

Запустив файл мы видим что Debug mode теперь on и добавилось ещё пару строчек в терминале.

Далее идёт красная надпись, которую я обычно игнорирую. Если кратко, то нам не рекомендуют использовать этот сервер в продакшн.

А после этой надписи идёт адрес, который доступен через браузер. В данном случае это 127.0.0.1:5000. Этот адрес доступен только на компьютере, где вы запустили этот сервер. Это можно настроить как и порт, который указан тут через двоеточие цифрой 5000.

'''

app.run(host='0.0.0.0', port=8080)

'''

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

Также как вы заметили я написал ещё и порт. Теперь число через двоеточие после адреса изменилось и оно равно числу, написанному как значение port, а именно 8080.

Это мы видим в терминале после правок
Это мы видим в терминале после правок

Перейдя по адресу 192.168 мы заходим на ту же самую страницу и видим наше сообщение "Hello, world!".
Перейдя по адресу 192.168 мы заходим на ту же самую страницу и видим наше сообщение "Hello, world!".

Я не дописал адрес 192.168.0.11 в подписи к картинке потому что у каждого устройства, подключенного к локальной сети свой адрес, который выдаёт этому устройству роутер. Поэтому у вас он определенно будет другой.

Это был первый урок из серии уроков про flask. В следующем я расскажу про одну интересную особенность этого фреймворка. А пока я прощаюсь с вами. До скорых встреч.