知識點: 1、參數配置
一、概況
上一篇我們已經把Flask
第一個程序運行起來了,那么這一篇主要講一下Flask
參數的配置。
二、配置參數
Flask
參數配置方式有很多種,每一種都可以達到結果,在合適的場景選擇合適的配置方式。
- 配置文件 在文件加中新建一個
config.cfg
配置文件,在配置文件上寫上下面語句,表示開啟調試模式。這樣當我們程序出錯的時候,就能知道錯誤在多少行,方便我們快速定位錯誤。
DEBUG = True
復制代碼
在程序中加載配置文件
from flask import Flask'''
__name__:表示當前的模塊名字
創建Flask對象,Flask會以傳入模塊的位置當做家目錄
'''
app = Flask(__name__)@app.route('/') # 代表首頁
def hello_world(): # 視圖函數print(1/0)return 'Hello World!' # 返回內容# 配置文件
app.config.from_pyfile('config.cfg')if __name__ == '__main__':app.run() # 運行程序
復制代碼
我們可以看出,這個程序是有錯的,因為1/0在生活中,0是不能當做除數,所以會出現異常。當我們在瀏覽器訪問的時候,可以看到
- 類方式配置
#類方式配置
class Config(object):DEBUG = Trueapp.config.from_object(Config)復制代碼
- 直接操作配置 直接操作適用于配置參數較少的場景,
config
本質其實就一個字典。
#直接操作
app.config["DEBUG"] = True
復制代碼
- 對象上配置
app.debug = True
復制代碼
- 參數傳入配置(只限debug參數)
app.run(debug=True) # 運行程序
復制代碼
三、取配置參數
有很多情況,我們會有需求,想在視圖函數中,把配置參數取到并使用。這里面提供了兩種拿到的辦法:
from flask import Flask, current_app'''
__name__:表示當前的模塊名字
創建Flask對象,Flask會以傳入模塊的位置當做家目錄
'''
app = Flask(__name__)@app.route('/') # 代表首頁
def hello_world(): # 視圖函數# 如果能拿到app對象,就可以通過app取自定義的配置參數print(app.config.get('TEST'))# 如果拿不到,可以通過current_app這個app的代理人拿到print(current_app.config.get('TEST'))return 'Hello World!' # 返回內容# 直接操作
app.config["DEBUG"] = True
app.config["TEST"] = 'test'if __name__ == '__main__':app.run() # 運行程序復制代碼
支持外部訪問
我們修改調用 run() 的方法使我們的服務器公開可用,如下:
# 0.0.0.0代表任何能代表這臺機器的地址都可以訪問app.run(host='0.0.0.0', port=5000) # 運行程序
復制代碼
這個時候我們可以通過http://127.0.0.1:5000/
可以訪問我們的網站,也可以通過自己的本機ip去訪問http://192.168.1.101:5000/
。可以通過ifconfig
命令查看自己的本機IP。
歡迎關注我的公眾號: