Мінімальний додаток на Flask
Мінімальний додаток Flask виглядає приблизно так:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
Просто збережіть його під ім'ям на зразок hello.py і запустіть за допомогою вашого інтерпретатора Python. Тільки, будь ласка, не давайте додатку ім'я flask.py, так як це викличе конфлікт з самим Flask.
* Running on http://127.0.0.1:5000/
Прослідувавши за посиланням http://127.0.0.1:5000/ ви побачите ваше вітання світу.
Отже, що ж робить цей код?
- Спочатку ми імпортували клас Flask. Екземпляр цього класу і буде вашим WSGI-додатком.
- Далі ми створюємо екземпляр цього класу. Перший аргумент - це ім'я модуля або пакету програми. Якщо ви використовуєте єдиний модуль (як у цьому прикладі), вам слід використовувати __name__, тому що в залежності від того, чи запущений код як додаток, або був імпортований модуль, це ім'я буде різним ('__main__' або актуальне ім'я імпортованого модуля відповідно). Це потрібно, щоб Flask знав, де шукати шаблони, статичні файли та інше. Для додаткової інформації дивіться документацію Flask.
- Далі, ми використовуємо декоратор route(), щоб сказати Flask, який з URL повинен запускати нашу функцію.
- Функція, якою дано ім'я, що використовується також для генерації URL - адрес для цієї конкретної функції, повертає повідомлення, яке ми хочемо відобразити в браузері користувача.
- Нарешті, для запуску локального сервера з нашим додатком, ми використовуємо функцію run(). Завдяки конструкції if __name__ == '__main__' можна бути впевненим, що сервер запускається тільки при безпосередньому виклику скрипта з інтерпретатора Python, а не при його імпорті в якості модуля.
Для зупинки сервера, натисніть Ctrl+C.
Публічно доступний сервер
Якщо ви запустите сервер, ви помітите, що він доступний тільки з вашого власного комп'ютера, а не з будь-якого іншого в мережі. Так зроблено за замовчуванням, тому що в режимі налагодження користувач програми може виконати код на Python на вашому комп'ютері.
Якщо у вас відключена опція debug або ви довіряєте користувачам в мережі, ви можете зробити сервер публічно доступним, просто змінивши виклик методу run() таким ось чином:
app.run(host='0.0.0.0')
Це вкаже вашій операційній системі, щоб вона слухала мережу з усіх публічних IP-адрес.