整合所有技能成一個完整的作品集網站:
- 前端:HTML + CSS + JS
- 後端:Flask(Python)
- 功能:個人介紹、專案展示、留言板
portfolio/
├── app.py # Flask 主程式
├── templates/ # HTML 模板
├── static/ # CSS/JS
├── data/projects.json # 專案資料
└── requirements.txt整合所有技能成一個完整的作品集網站:
portfolio/
├── app.py # Flask 主程式
├── templates/ # HTML 模板
├── static/ # CSS/JS
├── data/projects.json # 專案資料
└── requirements.txtfrom flask import Flask, render_template, request, jsonify
import json
from datetime import datetime
app = Flask(__name__)
def load_projects():
with open("data/projects.json", "r", encoding="utf-8") as f:
return json.load(f)
@app.route("/")
def index():
projects = load_projects()
return render_template("index.html",
name="丁丁", projects=projects[:3],
year=datetime.now().year)
# 留言 API
messages = []
@app.route("/api/messages", methods=["GET", "POST"])
def handle_messages():
if request.method == "POST":
data = request.get_json()
messages.append({
"name": data["name"],
"text": data["text"],
"time": datetime.now().strftime("%Y-%m-%d %H:%M")
})
return jsonify({"status": "ok"})
return jsonify(messages[-20:])部署步驟:pip freeze > requirements.txt → Dockerfile → gcloud run deploy → 公開網址!
持續成長路徑:
🐍 寫程式的目的不是讓電腦聽懂,而是讓人讀懂。
Flask 後端→ Jinja2 模板→ 留言板 API→ Cloud Run 部署
十堂課,從 print("Hello World") 到部署完整網站。你已經是獨立的 Python 開發者了。🐍🚀
🎉 恭喜完成全部十堂課!你已經是獨立的 Python 開發者了 🚀