💻 Ключевые примеры блока Flask

Flask: базовое приложение

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'Hello, World!'

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

Flask: маршрут с параметром

@app.route('/hello/<name>')
def hello(name):
    return f'Hello, {name}!'

@app.route('/double/<int:number>')
def double(number):
    return str(number * 2)

Pydantic: модель и JSON

from pydantic import BaseModel, Field, EmailStr

class User(BaseModel):
    name: str = Field(..., min_length=2)
    age: int = Field(..., ge=0, le=120)
    email: EmailStr

json_str = '{"name":"Anna","age":25,"email":"anna@example.com"}'
user = User.model_validate_json(json_str)
print(user.model_dump_json())

Pydantic: вложенная модель + валидатор

from pydantic import BaseModel, model_validator

class Address(BaseModel):
    city: str
    street: str

class User(BaseModel):
    name: str
    age: int
    is_employed: bool
    address: Address

    @model_validator(mode='after')
    def check_age(self):
        if self.is_employed and not (18 <= self.age <= 65):
            raise ValueError('Возраст 18–65 при is_employed=True')
        return self