колба

Створіть програму Hello World за допомогою Flask Framework

Створіть програму Hello World за допомогою Flask Framework
У цій статті буде розглянуто посібник із написання простого додатку hello world із використанням фреймворку на основі Python. Flask можна використовувати для створення мінімальних, розширюваних та вдосконалених веб-додатків, використовуючи набір бібліотек, що входять до його модуля. Усі зразки коду в цьому посібнику перевіряються на Ubuntu 20.10 із версією Python 3.8.6 та версія Flask 1.1.2.

Про колбу

Flask - це платформа для розробки веб-додатків, заснована на Python, яка спеціально розроблена так, щоб вона була мінімальною для початку роботи. Це допомагає швидко створювати прототипи, швидко розробляти та швидко розгортати. Будь-які розширені функції, які потрібно додати до веб-програми, можна додати за допомогою розширень. Офіційний сайт Flask описує себе як “мікро” фреймворк, оскільки всі важливі рішення залишає за користувачами і мало що приймає від їх імені. Користувачі можуть вибирати власні механізми шаблонів, бібліотеки управління базами даних, засоби перевірки форми тощо, хоча Flask дійсно має деякі розумні за замовчуванням.

Встановлення Flask в Linux

Якщо ви використовуєте Ubuntu, ви можете встановити Flask, виконавши згадану нижче команду:

$ sudo apt встановити python3-flask

Ви можете уникнути використання версії сховища та встановити останню версію Flask з менеджера пакунків “pip”, виконавши послідовно дві команди:

$ sudo apt встановити python3-pip
$ pip3 інсталяційна колба

Якщо ви використовуєте будь-який інший дистрибутив Linux, знайдіть пакунки “Flask” в диспетчері пакетів або встановіть його за допомогою інструмента інсталяції пакета “pip”. Подальші докладні інструкції доступні тут.

Після завершення встановлення ви можете перевірити версію Flask, використовуючи команду, вказану нижче:

$ python3 -c "колба для імпорту; print (flask.__версія__) "

Модель клієнт-сервер

Як зазначалося раніше, Flask використовується для розробки веб-додатків. Як правило, всі основи розробки веб-додатків на Python та інших мовах програмування використовують архітектуру клієнт-сервер. Flask також використовує модель клієнт-сервер, де користувачі можуть писати логіку на стороні сервера для створення веб-додатків або веб-сайтів. "Клієнт" тут відноситься до веб-браузера або будь-якої іншої програми, яка дозволяє відображати веб-сторінки за допомогою технологій HTML, JavaScript та CSS. Хоча «сервер» відноситься до локального або віддаленого сервера, де виконується ваш додаток Flask, написаний мовою Python.

Коли ви запускаєте програму Flask локально на своєму ПК, локальний сервер автоматично створюється для обслуговування веб-програми. Flask виведе URL-адресу localhost у вашому терміналі. Ви можете відвідати цю URL-адресу в будь-якому веб-браузері, щоб переглянути кінцевий результат. Ви також можете налаштувати віддалений сервер, щоб полегшити зв’язок між клієнтом та сервером та запустити власний загальнодоступний веб-сайт або веб-програму.

Ви можете створити код клієнта на стороні клієнта, JavaScript і CSS, необхідний для вашого веб-додатку, використовуючи серверний код, написаний на Flask та Python. Але як тільки веб-програма розгорнута, і ви запустите її у веб-браузері, ваша веб-програма не побачить і не зрозуміє код Python. Він буде обробляти лише HTML, JavaScript та CSS, оскільки лише ці технології в основному підтримуються веб-браузерами. Ви все одно зможете спілкуватися з сервером з боку клієнта, використовуючи запити HTTP. Ви можете дуже багато передавати дані від клієнта до сервера, обробляти їх, використовуючи певну логіку на стороні сервера, і повертати результат.

Отже, залежно від типу веб-додатку, який ви розробляєте, вам, можливо, доведеться вирішити, де застосовувати логіку: на стороні сервера або на стороні клієнта в кожному конкретному випадку.

Просте додаток Hello World у колбі

Ви можете використати наведений нижче зразок коду, щоб створити спрощений додаток “Hello World” у Flask, щоб розпочати роботу:

з колби імпортна колба
app = Flask (__ name__)
@app.route ('/')
def hello_world_app ():
message = "Привіт Світ!!"
повернути повідомлення

Перше твердження у наведеному вище зразку коду імпортує клас “Flask” із модуля “flask”. Після імпорту ви зможете використовувати всі методи, доступні в класі “Flask”.

У наступному висловлюванні створюється новий екземпляр класу “Flask” і ім’я файлу подається йому як аргумент. Якщо ви просто використовуєте одну “.py ”без додаткового файлу“ __init__.py ”, який зазвичай використовується під час створення файлової структури для пакета Python, ім’я матиме закодоване значення“ __main__ ”. Аргумент “__name__” повідомляє Flask, де шукати файли, пов’язані з поточною програмою flask, що виконується. Ви також можете вказати власний шлях до свого основного файлу Flask замість аргументу “__name__”. Але, як правило, більшість розробників використовують лише "__name__", і це, здається, є стандартною практикою.

Потім додаток „прикраса”.маршрут »приєднується до функції« hello_world_app ». Функції декорування розширюють або змінюють функцію, до якої вони приєднані, фактично не змінюючи їх. Тут "додаток.route ”декоратор використовується для вказівки шляху URL, де буде виконуватися вкладена функція. Символ “/” говорить Flask виконати функцію за URL-адресою “/”, що означає “root” домен або “root” URL. Наприклад, якщо URL-адреса вашого додатка "app.com ”, функція буде активована для“ app.com ”URL. Ви також можете змінити це на щось інше. Наприклад, за допомогою декоратора “@app.route ('/ helloworld') ", ви можете зіставити функцію з" app.com / helloworld ”URL-адреса.

Нарешті, функція “hello_world_app” використовується для повернення вмісту, який ви хочете відобразити у веб-браузері, коли працює ваш веб-додаток.

Запуск програми Flask

Щоб запустити програму Flask в Linux, потрібно запустити команду в такому форматі:

$ експорт FLASK_APP = основний.py
$ колба запущена

Зміна “основна.py ”ім’я за необхідністю, щоб воно відповідало вашому .Файл ”py”, куди ви ввели свій код колби. Друга команда запускає ваш додаток Flask. Ви також можете запустити цю альтернативну команду:

$ FLASK_APP = основний.py колба запущена

Після запуску цих команд ви побачите такий вивід:

Просто відкрийте URL-адресу, згадану в терміналі, у веб-браузері, щоб побачити вашу програму в дії.

Ви можете запустити програму Flask в режимі налагодження, використовуючи змінну середовища “FLASK_ENV” у наступному форматі:

$ FLASK_ENV = розробка FLASK_APP = основна.py колба запущена

Використання Jinja2 Template Engine

Flask використовує “Jinja2” для обробки шаблонів для полегшення написання HTML-коду на Python. З його допомогою можна встановити розмітку для «Hello World!!" повідомлення.

Створіть новий каталог під назвою «шаблони», де знаходиться ваш основний скрипт Flask. Всередині каталогу «шаблон» створіть новий файл з назвою «hw_template».html ". Відкрийте “hw_template.html ”та помістіть у нього такий код:


Привіт Світ!!
% якщо колір%

Привіт Світ!!


% else%

Привіт Світ!!


% endif%

Цей код написаний у синтаксисі, який розуміє “Jinja2”. Ви можете звернутися до документації “Jinja2”, доступної тут. Розмітка шаблону перевіряє, чи передано йому змінну з назвою “color” чи ні. Якщо так, тоді це змінює колір “Hello World!!”, Використовуючи значення із переданої йому змінної“ color ”.

Щоб передати змінну шаблону “Jinja2”, вам потрібно написати код у наступному форматі:

@app.route ('/')
def hello_world_app ():
повернути render_template ('hw_template.html ', color = "червоний")

Метод “render_template” використовується для візуалізації розмітки з файлу шаблону “Jinja2”. Ви можете вказати йому назву шаблону, який ви хочете відтворити, та будь-які аргументи, які ви хочете передати шаблону. Шаблон hw_template.HTML-шаблон, використаний вище, обробляє змінну „колір” після того, як код колби передає їй змінну „колір”, що має значення „червоний”. Після запуску зразка коду, згаданого вище, ви повинні отримати такий результат:

Ви також можете передати значення змінних із самої URL-адреси. Погляньте на зразок коду нижче:

@app.route ('/')
@app.route ('/')
def hello_world_app (color = "blue"):
повернути render_template ('hw_template.html ', колір = колір)

До функції “hello_world_app” приєднано два URL-шляхи або маршрути. Коли ви відвідуєте кореневий домен (приклад “app.com ”), ви побачите“ Hello World!!Повідомлення синім кольором як значення за замовчуванням для змінної “колір” визначається як “синій”, і це значення ви також передаєте шаблону “Jinja2”.

Другий шлях, визначений “@app.route ('/') ”Використовує спеціальний синтаксис. У символах «<>» ви можете визначити будь-які змінні, які передаватимуться функції «hello_world_app». Значення за замовчуванням для цієї змінної визначається як аргумент для функції “hello_word_app”. Потім ви передаєте власну користувацьку змінну як аргумент методу “render_template” і встановлюєте її значення змінною, яку ви визначили під час декорування функції новим користувацьким маршрутом.

Наприклад, “Hello World !!"Повідомлення зміниться на червоний колір, коли ви відвідаєте" додаток.com / red ”URL-адреса, але вона залишатиметься синьою, коли ви відвідаєте“ додаток.com ”URL. Ось паралельне порівняння:

Висновок

Flask - це потужна система розробки веб-додатків, яка може бути використана для створення як простих, так і вдосконалених додатків. Цей підручник головним чином пояснює створення простого “Hello World!!”Додаток. Ви можете підключити його до бази даних і використовувати розширення для подальшого розширення його функціональних можливостей. Зверніться до документації Flask, щоб дізнатись більше про управління базами даних та розширеннями.

How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Безкоштовні ігри з відкритим кодом для розробки ігор Linux
У цій статті буде розглянуто перелік безкоштовних ігрових механізмів з відкритим кодом, які можна використовувати для розробки 2D та 3D ігор на Linux....
Підручник Тінь розкрадача гробниць для Linux
Shadow of the Tomb Raider - дванадцяте доповнення до серії Tomb Raider - франшизи екшн-пригодницької гри, створеної Eidos Montreal. Гру сприйняли як к...