from flask import Flask
app = Flask(__name__)
app = Flask(__name__) 是 **Flask 應用實例的創建(初始化)**。它完成以下關鍵工作:
__name__ 傳遞當前模塊名(通常為 __main__ 或包名)。Flask 据此推斷項目根目錄,從而自動定位:
static 靜態文件目錄(默認 ./static)。templates 模板目錄(默認 ./templates)。instance 實例文件夾(配置文件、數據庫等)。Flask 對象,內部包含:
url_map)。config),默認加載 config.py 或環境變量。create_app() 函數中:def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) # 註冊藍圖、擴展、數據庫... return app__name__?__name__ == '__main__',Flask 以當前文件所在目錄為根路徑。from mypackage import app),__name__ == 'mypackage',Flask 以包根目錄為基準,確保 static/templates 路徑正確,無論從哪裡啟動。詳細源碼分析可參考:Flask 源碼解析:Flask(__name__) 做了什麼。
總結:app = Flask(__name__) 是**創建 Flask 應用核心對象**的標準方式,參數 __name__ 用於**自動推斷項目根路徑以加載靜態文件、模板、配置**,是 Flask 約定優於配置設計的體現。