Portfolio / app.py
ministerchief's picture
Upload 5 files
d14121a verified
Raw
History Blame Contribute Delete
1.2 kB
from flask import Flask, request, jsonify, send_from_directory
import os
import re
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
app = Flask(__name__, static_folder=BASE_DIR, static_url_path="")
app.secret_key = os.urandom(24)
@app.route("/")
def home():
return send_from_directory(BASE_DIR, "index.html")
@app.route("/main.js")
def js_file():
return send_from_directory(BASE_DIR, "main.js")
@app.route("/style.css")
def css_file():
return send_from_directory(BASE_DIR, "style.css")
@app.route("/contact", methods=["POST"])
def contact():
data = request.get_json(silent=True) or request.form
name = str(data.get("name", "")).strip()
email = str(data.get("email", "")).strip()
message = str(data.get("message", "")).strip()
if not all([name, email, message]):
return jsonify({"ok": False, "error": "All fields required."}), 400
if not re.match(r"^[^@]+@[^@]+\.[^@]+$", email):
return jsonify({"ok": False, "error": "Invalid email."}), 400
print(f"\nNew message from {name} <{email}>:\n{message}\n{'-' * 50}")
return jsonify({"ok": True})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860, debug=True)