✅ Решения
Тест
1: B (HTTPS)
2: C (pip install flask)
3: C (path)
4: B (связывает URL с функцией)
5: C (model_validate_json)
6: B (больше 0)
7: C (@field_validator)
Практика 1: Flask-приложение
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, Flask!'
@app.route('/user/<name>')
def hello(name):
return f'Hello, {name}!'
@app.route('/square/<int:n>')
def square(n):
return str(n * n)
if __name__ == '__main__':
app.run(debug=True)
Практика 2: Pydantic-модели
from pydantic import BaseModel, Field, EmailStr, model_validator
class Address(BaseModel):
city: str = Field(..., min_length=2)
street: str = Field(..., min_length=3)
house_number: int = Field(..., gt=0)
class User(BaseModel):
name: str = Field(..., min_length=2)
age: int = Field(..., ge=0, le=120)
email: EmailStr
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
Практика 3: JSON-функция
from pydantic import ValidationError
def register_user(json_string: str):
try:
user = User.model_validate_json(json_string)
return user.model_dump_json()
except ValidationError as e:
return {'error': str(e)}