Flash框架学习
學(xué)習(xí)資料:
b站:??????2021年史上最強(qiáng)Flask框架 Flask6天速成從入門到精通(無償分享附贈(zèng)課件資料)_嗶哩嗶哩_bilibilid
? ? ? ? 稍后持續(xù)更新,如有錯(cuò)誤,請(qǐng)大佬們糾正?
Day1?
一、Flask對(duì)象初始化參數(shù)
二、三種配置加載方式
(一)從配置對(duì)象加載:擁有繼承性,但容易暴露敏感代碼
(二)配置文件中加載:保護(hù)了敏感代碼的泄露,但是文件路徑是固定不變,每次在不同的編譯環(huán)境下需要更改代碼
(三)從環(huán)境變量中加載:獨(dú)立、保護(hù)敏感代碼,但是不方便,每次都需要設(shè)置環(huán)境變量
下面是相關(guān)的配置加載的代碼
""" Author:Lucky_bacon Tool:Pycham、python3 """# 導(dǎo)入Flas k類庫(kù) from flask import Flask#配置對(duì)象中加載配置信息 # class DefaultConfig(object): # ''' # 默認(rèn)配置 # ''' # SECRET_KEY = 'lUCKY_BACON配置對(duì)象加載' #配置信息#引用__name__函數(shù),url指鏈接后綴,static_folder是文件存放位置 app = Flask(__name__,static_url_path='/s',static_folder='static_files')#配置 # app.config.from_object(DefaultConfig)#對(duì)象的設(shè)置 # app.config.from_pyfile('setting.py')#文件加載的配置屬性,調(diào)用了setting。py文件里面的信息 app.config.from_envvar('ENVOR_SETTING') # app.config.from_envvar('ENVOR_SETTING',silent=True) #環(huán)境變量的加載,里面的變量是自己去定義的,silent的作用:當(dāng)環(huán)境變量不存在時(shí),跳過它,避免報(bào)錯(cuò),并返回個(gè)None# 視圖函數(shù)(路由) @app.route('/')#輸出數(shù)據(jù)函數(shù) def index():#輸出配置信息(配置對(duì)象加載)print(app.config['SECRET_KEY'])return '<h1>Hello Flask!<h1>'# 啟動(dòng)實(shí)施(只在當(dāng)前模塊運(yùn)行) if __name__ == '__main__':app.run()所以我們一般結(jié)合了三者的優(yōu)缺點(diǎn),采用了兩者結(jié)合的方式來進(jìn)行配置加載:對(duì)象加載默認(rèn)配置+環(huán)境變量中加載來保護(hù)敏感信息
""" Author:Lucky_bacon Tool:Pycham、python3 """# 導(dǎo)入Flas k類庫(kù) from flask import Flask#配置對(duì)象中加載配置信息 class DefaultConfig(object):'''默認(rèn)配置'''SECRET_KEY = 'lUCKY_BACON' #配置信息#創(chuàng)建一個(gè)flask工廠對(duì)象函數(shù) def creat_flask_app(config):#引用__name__函數(shù),url指鏈接后綴,static_folder是文件存放位置app = Flask(__name__,static_url_path='/s',static_folder='static_files')#配置app.config.from_object(DefaultConfig)#對(duì)象的設(shè)置app.config.from_envvar('ENVOR_SETTING')# app.config.from_envvar('ENVOR_SETTING',silent=True)#環(huán)境變量的加載,里面的變量是自己去定義的,silent的作用:當(dāng)環(huán)境變量不存在時(shí),跳過它,避免報(bào)錯(cuò),并返回個(gè)Nonereturn app#如果不返回的話,下面的調(diào)用函數(shù)就無法獲取信息app = creat_flask_app(DefaultConfig)#調(diào)用創(chuàng)立的函數(shù)# 視圖函數(shù)(路由) @app.route('/') #輸出數(shù)據(jù)函數(shù) def index():#輸出配置信息(配置對(duì)象加載)print(app.config['SECRET_KEY'])return '<h1>Hello Flask!<h1>'# 啟動(dòng)實(shí)施(只在當(dāng)前模塊運(yùn)行) if __name__ == '__main__':app.run()在這里的環(huán)境變量ENVOR_SETTING一定要記得添加環(huán)境變量,不然會(huì)報(bào)錯(cuò),說環(huán)境變量ENVOR_SETTING沒有定義
?
?
?
setting.py的代碼
""" Author : Lucky_bacon Tool : Pycham、python3 """ SECRET_KEY = 'lUCKY_BACON real vaul'三、app.run()函數(shù)的使用
總結(jié)
- 上一篇: 解决Windows无法加载中文(中国)-
- 下一篇: macOS 输入法快速切换工具 —— K