Flask: Легкий у використанні веб-фреймворк та його реальні застосування

Flask — один з найпопулярніших веб-фреймворків на Python, відомий своєю простотою, гнучкістю та легкістю у використанні. Він особливо популярний серед розробників, які хочуть створювати невеликі та середні веб-додатки або API. У цьому блозі ми розглянемо, що таке Flask, чому він так широко використовується, і покажемо реальні приклади використання.

pic

Що таке Flask?

Flask — це легкий веб-фреймворк, написаний на Python. Його класифікують як мікрофреймворк, оскільки він не потребує конкретних інструментів чи бібліотек. Flask дозволяє будувати додатки з кастомними компонентами, що робить його ідеальним як для початківців, так і для досвідчених розробників.

Чому обирати Flask?

  • Легкість: Flask не включає непотрібних додаткових навантажень, що робить його швидким.
  • Гнучкість: Розробники мають контроль над компонентами, які використовуються в додатку.
  • Розширюваність: Легко інтегрується з бібліотеками, такими як SQLAlchemy для баз даних або Flask-RESTful для API.
  • Активна спільнота: Широка підтримка спільноти забезпечує доступ до багатьох підручників і ресурсів.

Основні особливості Flask

  1. Мінімалістичний дизайн: Надає лише необхідні інструменти, даючи свободу вибору додаткових компонентів.
  2. Вбудований сервер розробки: Полегшує налагодження та швидке тестування.
  3. Шаблонізатор Jinja2: Допомагає динамічно генерувати HTML-сторінки.
  4. RESTful розподіл запитів: Ідеальний для створення API.
  5. Підтримка юніт-тестування: Легко тестувати додатки на Flask.

Реальні приклади використання Flask

1. Створення RESTful API

Flask широко використовують для створення API завдяки його простоті. Наприклад, API для погодного додатку може надавати дані про температуру, вологість і прогноз для користувачів.

Приклад: Створення простого погодного API

from flask import Flask, jsonify  

app = Flask(__name__)  

@app.route('/weather', methods=['GET'])  
def get_weather():  
 weather_data = {  
 "city": "New York",  
 "temperature": "22°C",  
 "condition": "Cloudy"  
 }  
 return jsonify(weather_data)  

if __name__ == '__main__':  
 app.run(debug=True)

Запуск: Перейдіть за адресою http://127.0.0.1:5000/weather у вашому браузері, і ви побачите JSON-відповідь з даними про погоду.

2. Створення веб-додатків

Flask можна використовувати для створення невеликих та середніх веб-додатків, таких як блоги, портфоліо або навіть платформи електронної комерції.

Приклад: Створення простого портфоліо

from flask import Flask, render_template  

app = Flask(__name__)  

@app.route('/')  
def home():  
 return render_template('portfolio.html', name="John Doe", profession="Web Developer")  

if __name__ == '__main__':  
 app.run(debug=True)

portfolio.html Шаблон








Welcome to {{ name }}'s Portfolio
Profession: {{ profession }}

Коли ви відвідаєте http://127.0.0.1:5000/, ви побачите персоналізовану сторінку портфоліо.
Реальні часи та панелі моніторингу

Flask можна інтегрувати з бібліотеками, такими як Plotly, Dash або Matplotlib, для створення реальних панелей моніторингу даних.

Приклад: Створення простого інформаційного дашборду з продажу

from flask import Flask, render_template  
import random  

app = Flask(__name__)  

@app.route('/dashboard')  
def dashboard():  
 sales_data = {"January": random.randint(1000, 5000),  
 "February": random.randint(1000, 5000),  
 "March": random.randint(1000, 5000)}  
 return render_template('dashboard.html', data=sales_data)  

if __name__ == '__main__':  
 app.run(debug=True)

dashboard.html Шаблон








Sales Data
    {% for month, sales in data.items() %}    
{{ month }}: ${{ sales }}
    {% endfor %}    

4. Системи автентифікації користувачів

Flask можна використовувати для створення систем логіну в додатках. За допомогою бібліотек, таких як Flask-Login або Flask-Bcrypt, ви можете легко додавати автентифікацію користувачів.

Приклад: Базова система логіну

from flask import Flask, render_template, request, redirect, url_for  

app = Flask(__name__)  

# Приклад імені користувача та пароля  
USER_CREDENTIALS = {'username': 'admin', 'password': '12345'}  

@app.route('/')  
def home():  
 return render_template('login.html')  

@app.route('/login', methods=['POST'])  
def login():  
 username = request.form['username']  
 password = request.form['password']  
 if username == USER_CREDENTIALS['username'] and password == USER_CREDENTIALS['password']:  
 return "Login Successful!"  
 else:  
 return "Invalid Credentials. Try Again!"  

if __name__ == '__main__':  
 app.run(debug=True)

login.html Шаблон

Login
Username:            Password:            Login           

5. Інтеграція з моделями машинного навчання

Flask можна використовувати для розгортання моделей машинного навчання та здійснення прогнозів через веб-інтерфейси.

Приклад: API для прогнозування діабету

import pickle  
from flask import Flask, request, jsonify  

app = Flask(__name__)  

# Завантаження попередньо натренованої моделі  
with open('diabetes_model.pkl', 'rb') as file:  
 model = pickle.load(file)  

@app.route('/predict', methods=['POST'])  
def predict():  
 data = request.json  
 prediction = model.predict([data['features']])  
 return jsonify({"prediction": int(prediction[0])})  

if __name__ == '__main__':  
 app.run(debug=True)

Щоб отримати прогноз, ви можете надіслати JSON-запит до http://127.0.0.1:5000/predict з даними пацієнта.

Висновок

Flask — це універсальний і зручний для початківців фреймворк, який дозволяє створювати потужні додатки, від простих API до повноцінних веб-додатків. Його гнучкість робить його ідеальним для розробників, які хочуть будувати легкі рішення або інтегрувати такі складні функціональності, як машинне навчання чи візуалізація даних у реальному часі.

Перекладено з: Flask: A Beginner-Friendly Web Framework and Its Real-World Use Cases

Leave a Reply

Your email address will not be published. Required fields are marked *