💻 Примеры кода
Пример 1. Базовое приложение Hello World
Создай файл app.py и запусти сервер:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
Проверка: открой в браузере или Postman http://127.0.0.1:5000/ — увидишь Hello, World!.
Пример 2. Параметр string
from flask import Flask
app = Flask(__name__)
@app.route('/hello/<name>')
def hello(name):
return f'Hello, {name}!'
if __name__ == '__main__':
app.run(debug=True)
Проверка: запрос GET /hello/Anna → Hello, Anna!.
Примечание: конвертер
string используется по умолчанию, если тип не указан. Он не принимает слеши.
Пример 3. Параметр int
from flask import Flask
app = Flask(__name__)
@app.route('/double/<int:number>')
def double_number(number):
return f'{number} doubled is {number * 2}'
if __name__ == '__main__':
app.run(debug=True)
Проверка:
GET /double/5→5 doubled is 10GET /double/abc→ 404 Not Found (не число)
Пример 4. Параметр float
from flask import Flask
app = Flask(__name__)
@app.route('/square/<float:number>')
def square_number(number):
return f'The square of {number} is {number * number}'
if __name__ == '__main__':
app.run(debug=True)
Проверка: GET /square/3.5 → The square of 3.5 is 12.25.
Пример 5. Параметр path
from flask import Flask
app = Flask(__name__)
@app.route('/reverse/<path:text>')
def reverse_text(text):
return f'{text} reversed is {text[::-1]}'
if __name__ == '__main__':
app.run(debug=True)
Проверка:
GET /reverse/hello/world→ передаётtext="hello/world"- Результат:
hello/world reversed is dlrow/olleh
Важно: с конвертером
string запрос /reverse/hello/world вернул бы 404, потому что string не принимает слеши.
Пример 6. Несколько параметров в одном маршруте
from flask import Flask
app = Flask(__name__)
@app.route('/calc/<int:a>/<string:op>/<int:b>')
def calc(a, op, b):
if op == 'add':
result = a + b
elif op == 'sub':
result = a - b
elif op == 'mul':
result = a * b
else:
return 'Unknown operation', 400
return f'{a} {op} {b} = {result}'
if __name__ == '__main__':
app.run(debug=True)
Проверка: GET /calc/10/add/3 → 10 add 3 = 13.