Flask, веб-фреймворк Python
Привіт, друзі,
Jupyter ноутбуки, які традиційно використовуються в основному в галузі науки про дані для аналізу та візуалізації, пропонують унікальне середовище на основі клітин, яке також можна використовувати для веб-розробки. Хоча платформи як Jupyter та Google Colab здебільшого відомі своїми можливостями для науки про дані, їх також можна ефективно використовувати для розгортання Flask веб-додатків. У цьому посібнику ми покажемо, як запустити Flask додаток в середовищі ноутбука Google Colab, демонструючи спрощений підхід до веб-розробки в інтерфейсі ноутбука.
Спочатку потрібно завантажити Flask залежність у ваше середовище, для цього просто виконайте цю команду в першій клітинці:
#@title 🚀 Налаштування середовища!
!pip install flask
Це налаштування встановить Flask, один з найбільш популярних веб-фреймворків Python, у ваше середовище проекту. Наступна клітинка реалізує Шар сервісів (Service Layer Pattern), що організовує маршрути, шаблони та логіку REST нашого додатку в модульні компоненти — чистий архітектурний підхід для структурування Flask додатків:
#@title 🛜 Усі функції та модулі.
# Шаблон клітинка
class TemplateManager:
@staticmethod
def get_templates():
templates = {
'index': '''
{{title}}
{% for user in users %}
{{user.name}}
{% endfor %}
''', 'user_form': ''' Додати користувача ''' } return templates # Сервіси клітинка class UserService: def __init__(self): self.users = [] def create_user(self, name): user = {'name': name} self.users.append(user) return user def get_users(self): return self.users # Налаштування додатку клітинка from flask import Flask, render_template_string, request, redirect, url_for def create_app(): app = Flask(__name__) user_service = UserService() templates = TemplateManager.get_templates() @app.route('/') def index(): return render_template_string( templates['index'], title="Список користувачів", users=user_service.get_users() ) @app.route('/users', methods=['GET', 'POST']) def users(): if request.method == 'POST': name = request.form.get('name') user_service.create_user(name) return redirect(url_for('index')) # Показати форму для GET запиту return render_template_string(templates['user_form']) return app ```
Після того, як ми налаштуємо структуру шаблонів, шар сервісів та конфігурації маршрутів із відповідними змінними шаблонів, останній крок — реалізувати наш запуск скрипту. Ця клітинка оркеструє та запускає наш Flask сервер, роблячи наш веб-додаток доступним через середовище Colab:
@title 🚀 Запуск додатку
from google.colab.output import evaljs
print(evaljs("google.colab.kernel.proxyPort(5000)"))
def initialize_app():
print("🚀 Початок ініціалізації додатку...")
try:
print("🔧 Ініціалізація сервісів...")
app = create_app()
print("✅ Додаток успішно створено")
print("\n📱 Запуск Flask додатку...")
print("⚠️ Перевірте URL, який з'явиться вище")
app.run(host='localhost', port=5000)
return True
except Exception as e:
print(f"\n❌ Помилка під час ініціалізації: {str(e)}")
return False
Запуск додатку
if name == "main":
initialize_app()
```
Виконуючи ці кроки та запускуючи кожну клітинку по черзі, ви отримаєте URL, згенерований в Colab, у вихідних даних останньої клітинки.
Цей URL створюється завдяки вбудованим можливостям переспрямування портів у Colab.
Хоча можна використовувати альтернативні зовнішні сервіси, такі як NGROK або Cloudflared, ми розглянули просту демонстрацію того, як ефективно структурувати Flask веб-додаток всього за 3 клітинки ноутбука. 🙂
Дякую за прочитане!
Doga Gocmener (DogaGocmener@ на X)
Перекладено з: 3 Cell Long Flask Applications in Notebook