Загрузить файлы в «z2/backend»
This commit is contained in:
parent
a8c474f52d
commit
26b03c553b
18
z2/backend/Dockerfile
Normal file
18
z2/backend/Dockerfile
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Используем легкий образ Python
|
||||||
|
FROM python:3.10-slim
|
||||||
|
|
||||||
|
# Устанавливаем рабочую директорию
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Копируем зависимости и устанавливаем их
|
||||||
|
COPY requirements.txt .
|
||||||
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
# Копируем код приложения
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Открываем порт (по умолчанию Flask — 5000)
|
||||||
|
EXPOSE 5000
|
||||||
|
|
||||||
|
# Команда запуска
|
||||||
|
CMD ["python", "app.py"]
|
32
z2/backend/app.py
Normal file
32
z2/backend/app.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
from flask import Flask, request, jsonify
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
DATA_FILE = "/data/tasks.json"
|
||||||
|
|
||||||
|
def read_tasks():
|
||||||
|
if os.path.exists(DATA_FILE):
|
||||||
|
with open(DATA_FILE, "r") as f:
|
||||||
|
return json.load(f)
|
||||||
|
return []
|
||||||
|
|
||||||
|
def write_tasks(tasks):
|
||||||
|
with open(DATA_FILE, "w") as f:
|
||||||
|
json.dump(tasks, f)
|
||||||
|
|
||||||
|
@app.route("/tasks", methods=["GET"])
|
||||||
|
def get_tasks():
|
||||||
|
return jsonify(read_tasks())
|
||||||
|
|
||||||
|
@app.route("/tasks", methods=["POST"])
|
||||||
|
def add_task():
|
||||||
|
tasks = read_tasks()
|
||||||
|
new_task = request.json
|
||||||
|
tasks.append(new_task)
|
||||||
|
write_tasks(tasks)
|
||||||
|
return jsonify(new_task), 201
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app.run(host="0.0.0.0", port=5000)
|
||||||
|
|
2
z2/backend/requirements.txt
Normal file
2
z2/backend/requirements.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Flask
|
||||||
|
|
1
z2/backend/tasks.json
Normal file
1
z2/backend/tasks.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
[]
|
Loading…
Reference in New Issue
Block a user