timmy / 使用 multiprocessing 啟動多個 Flask 伺服器
0 likes
0 forks
1 files
Last active 9 months ago
| 1 | from flask import Flask |
| 2 | import multiprocessing |
| 3 | |
| 4 | # 建立 Flask 應用程式 |
| 5 | def create_app(port): |
| 6 | app = Flask(__name__) |
| 7 | |
| 8 | @app.route('/') |
| 9 | def home(): |
| 10 | return f"Hello from port {port}!" |
timmy / 使用 threading.Timer 延遲開啟網頁
0 likes
0 forks
1 files
Last active 9 months ago
此程式透過 threading.Timer 延遲指定秒數後,自動開啟指定的 URL。適用於自動化測試、提醒功能或延遲啟動特定網頁,確保主程式不中斷的情況下執行非同步操作。
| 1 | import threading |
| 2 | import webbrowser |
| 3 | |
| 4 | def open_url(url): |
| 5 | """ 開啟指定的 URL """ |
| 6 | webbrowser.open(url, new=2) |
| 7 | |
| 8 | # 設定延遲時間(秒) |
| 9 | delay = 2 |
| 10 | url = "https://www.example.com" |
timmy / 使用 Streamlit st.session_state 管理可編輯 DataFrame
0 likes
0 forks
1 files
Last active 9 months ago
透過 st.session_state 讓 Streamlit 應用能夠保存並管理可編輯的 DataFrame,避免頁面重整導致資料丟失,適用於數據管理與即時編輯應用。
| 1 | import streamlit as st |
| 2 | import pandas as pd |
| 3 | |
| 4 | def main(): |
| 5 | # 初始化 session_state |
| 6 | if "data" not in st.session_state: |
| 7 | st.session_state.data = pd.DataFrame({ |
| 8 | "ID": [1, 2, 3], |
| 9 | "Name": ["Alice", "Bob", "Charlie"], |
| 10 | "Age": [25, 30, 35], |
timmy / 使用 Python 開啟網頁 (open_browser.py)
0 likes
0 forks
1 files
Last active 9 months ago
此範例使用 webbrowser 模組在系統的預設瀏覽器中開啟指定網址,適用於自動化 Web 存取、快速開啟文件或 Web 應用程式。
| 1 | import webbrowser |
| 2 | |
| 3 | # 指定要開啟的網址 |
| 4 | url = "https://www.python.org" |
| 5 | |
| 6 | # 在預設瀏覽器中開啟網址 |
| 7 | webbrowser.open(url) |
timmy / Flask CORS 設定 (flask_cors_example.py)
0 likes
0 forks
1 files
Last active 9 months ago
| 1 | from flask import Flask, jsonify |
| 2 | from flask_cors import CORS |
| 3 | |
| 4 | app = Flask(__name__) |
| 5 | CORS(app) # 啟用 CORS,允許跨域請求 |
| 6 | |
| 7 | @app.route('/api/data') |
| 8 | def get_data(): |
| 9 | return jsonify({"message": "Hello, CORS is enabled!"}) |
timmy / Flask 啟動腳本 (run_flask.sh)
0 likes
0 forks
1 files
Last active 9 months ago
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 直接使用 env 設定環境變數並執行 Flask |
| 4 | env FLASK_APP=app.py FLASK_RUN_PORT=5000 FLASK_RUN_HOST=0.0.0.0 flask run |
timmy / Flask Google OAuth2 登入
0 likes
0 forks
2 files
Last active 9 months ago
使用 Flask 和 Authlib 整合 Google OAuth2,透過 OpenID Connect 進行身份驗證,讓使用者能安全登入應用程式。實作包括 authorize_redirect 及 parse_id_token,確保驗證的完整性與安全性。
| 1 | GOOGLE_CLIENT_ID=你的 Google Client ID |
| 2 | GOOGLE_CLIENT_SECRET=你的 Google Client Secret |
timmy / Python Mixin 設計模式
0 likes
0 forks
1 files
Last active 10 months ago
Python Mixin 設計模式允許類別透過多重繼承增加功能,如日誌、權限管理、事件驅動、異常處理與審計,提升可維護性與擴展性,適用於模組化應用開發。
| 1 | import datetime |
| 2 | import json |
| 3 | import threading |
| 4 | import traceback |
| 5 | |
| 6 | class LoggingMixin: |
| 7 | def __init__(self, log_to_file=False, log_file="app.log", *args, **kwargs): |
| 8 | self.log_to_file = log_to_file |
| 9 | self.log_file = log_file |
| 10 | super().__init__(*args, **kwargs) |
timmy / Python Mixin 設計模式
0 likes
0 forks
1 files
Last active 10 months ago
Mixin 讓類別能以組合方式擴展功能,如日誌記錄、時間標記、權限管理、事件驅動等,提高程式的模組化與可維護性。適合用於 Python 物件導向開發。
| 1 | import datetime |
| 2 | import json |
| 3 | import traceback |
| 4 | import threading |
| 5 | |
| 6 | class LoggingMixin: |
| 7 | """ 提供日誌功能的 Mixin 類別,可選擇寫入控制台或檔案 """ |
| 8 | |
| 9 | def __init__(self, log_to_file=False, log_file="app.log", *args, **kwargs): |
| 10 | self.log_to_file = log_to_file |