第一個flask應用代碼詳解
- 第一行代碼,導入了flask類
from flask import Flask
- 第二步創建了Flask類的實例
app = Flask(__name__)
這行代碼裏有一個參數name,這個參數用到告訴flask你的application的名字,官方有一句話:
If you are using a single module,name is always the correct value. If you however are using a package, it’s usually recommended to hardcode the name of your package there.
意思就是說,如果是單一的應用,用name就可以了,如果是一個應用程序包,就hardcode一個名字給這個參數。比如:app = Flask(“myApp”)
由於目前我們的應用都相對簡單,所以統一使用name作為參數。
- 使用route()修飾器註明通過什麽樣的url可以訪問我們的函數,同時在函數中返回要顯示在瀏覽器中的信息
@app.route(‘/‘)
def hello_world():
return ‘Hello World!‘
可以通過修改route()修飾器實現不同的url解析,比如,我們改成如下的樣子
@app.route(‘/index‘) def hello_world(): return ‘Hello World!‘
再次運行程序,訪問/index才能顯示出hello world, 如圖所示:
- 最後調用run()方法,運行flask web應用程序
if __name__ == ‘__main__‘:
app.run()
其中if name==’main’的意思是,如果此文件是直接運行的才會執行app.run()這個方法,如果是通過import在其它py文件中調用的話是不會執行的
比如我們修改code.py中的hello_world方法,如下:
@app.route(‘/index‘) def hello_world(): if __name__==‘main‘: return ‘Hello World!‘ else: return "hello my name is "+__name__
即當name為main時還是執行原來的邏輯,返回hello world,如果不是則輸出此時的名字。
然後我們新建一個sub.py文件然後導入code.py,並且執行hello_world方法
import Code
def CallCodeFun():
result = Code.hello_world()
print(result)
CallCodeFun()
執行sub.py後,輸入結果如下:
此時的name是Code而不是main
而此時,在sub.py中加一句print(name)可以發現sub.py中的name變成了main
由此我們可以得出 name 如果是 main 那麽代表他是一個入口文件,直接執行的
第一個flask應用代碼詳解