一米罚、初始項(xiàng)目分析
初始化一個(gè)最簡單的Flask項(xiàng)目并逐行分析:
from flask import Flask
app = Flask(__name__) # 1. 底層flask.helpers.get_root_path由__name__確定主目錄
# 2. 使用裝飾器確定函數(shù)和url的關(guān)系髓窜,綁定在app.url_map屬性上
@app.route("/")
def index():
return "Hello World!"
if __name__ == '__main__':
app.run() # 3. 調(diào)用run函數(shù)運(yùn)行服務(wù)器
運(yùn)行結(jié)果征讲,創(chuàng)建了服務(wù)器監(jiān)聽5000端口的請(qǐng)求:
正常運(yùn)行
為弄清楚__name__
据某,嘗試初始化時(shí)不傳遞參數(shù),報(bào)錯(cuò)诗箍,缺少位置參數(shù)import_name
癣籽。
嘗試不傳參,報(bào)錯(cuò),需要import_name
創(chuàng)建Flask項(xiàng)目時(shí)筷狼,F(xiàn)lask會(huì)根據(jù)傳進(jìn)的__name__
確定當(dāng)前模塊為項(xiàng)目主模模塊瓶籽,flask.helpers.get_root_path
函數(shù)通過傳入名字確定當(dāng)前為主目錄,以此獲得靜態(tài)文件和模板文件的目錄埂材。也就是說用戶訪問數(shù)據(jù)時(shí)塑顺,是根據(jù)當(dāng)前實(shí)例中__name__
定位當(dāng)前項(xiàng)目主模塊并獲得相應(yīng)資源。