/
dixsu
/
test-web-server
Обзор
Документация
Войти
/
dixsu
/
test-web-server
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
master
app.py
80 строк
3 KB
Сахно Роман Александрович
файл стилей изображения, поддержка сжатия сервером добавлены
08 мар 2025, 19:05
08 мар 2025, 19:05
387b357
Код
Авторство
О чём код?
from flask import Flask, request, jsonify, render_template, redirect, url_for import os from flask_compress import Compress app = Flask(__name__) # Инициализация Flask-Compress compress = Compress() compress.init_app(app) # Путь к директории для хранения загруженных файлов UPLOAD_FOLDER = "/app/uploads" if not os.path.exists(UPLOAD_FOLDER): os.makedirs(UPLOAD_FOLDER) # Путь к файлу для сохранения email EMAIL_FILE = UPLOAD_FOLDER+"/txt/emails.txt" # Путь к файлу для сохранения статей блога BLOG_FILE = UPLOAD_FOLDER+"/txt/blog_posts.txt" # Установка максимального размера файла (например, 50 MB) app.config['MAX_CONTENT_LENGTH'] = 50 * 1024 * 1024 # 50 MB # Маршрут для отображения главной страницы @app.route("/", methods=["GET"]) def home(): return render_template("index.html") # Маршрут для приема файлов @app.route("/upload", methods=["POST"]) def upload_file(): if 'file' not in request.files: return jsonify({"error": "No file part"}), 400 file = request.files['file'] if file.filename == "": return jsonify({"error": "No selected file"}), 400 try: # Сохраняем файл в директорию uploads file_path = os.path.join(UPLOAD_FOLDER, file.filename) file.save(file_path) return jsonify({"message": f"File saved successfully at {file_path}"}), 200 except Exception as e: return jsonify({"error": str(e)}), 500 # Маршрут для приема email @app.route("/submit-email", methods=["POST"]) def submit_email(): email = request.form.get("email") if not email: return jsonify({"error": "No email provided"}), 400 try: # Сохраняем email в файл with open(EMAIL_FILE, "a") as f: f.write(f"{email}\n") return jsonify({"message": "Email saved successfully"}), 200 except Exception as e: return jsonify({"error": str(e)}), 500 # Маршрут для приема статьи блога @app.route("/submit-blog", methods=["POST"]) def submit_blog(): blog_content = request.form.get("blog-content") if not blog_content: return jsonify({"error": "No blog content provided"}), 400 try: # Сохраняем статью блога в файл with open(BLOG_FILE, "a") as f: f.write(f"{blog_content}\n\n---\n\n") # Разделяем статьи разделителем return jsonify({"message": "Blog post saved successfully"}), 200 except Exception as e: return jsonify({"error": str(e)}), 500 # Запуск приложения if __name__ == "__main__": app.run(host="0.0.0.0", port=5000)