Flask додатки в ноутбуці за 3 клітинки

pic

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(eval
js("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

Leave a Reply

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