Flask--讀取配置參數的方式

文章目錄

  • 方法1. 使用配置文件
  • 方法2. 使用對象配置參數
  • 方法3. 直接操作config的字典對象
  • 項目實例

方法1. 使用配置文件

首先將配置參數寫在文件中,例如:config.cfg
在這里插入圖片描述
然后導入:

app = Flask("__name__")
app.config.from_pyfile("config.cfg")

方法2. 使用對象配置參數

首先塑造一個參數類,繼承object

class Config(object):DEBUG = TrueITCAST = "python"

然后導入:

app.config.from_object(Config)

方法3. 直接操作config的字典對象

app.config["DEBUG"] = True

項目實例

config.py文件:

# coding:utf-8import redisclass Config(object):"""配置信息"""SECRET_KEY = "XHSOI*Y9dfs9cshd9"# 數據庫SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/ihome_python04"SQLALCHEMY_TRACK_MODIFICATIONS = True# redisREDIS_HOST = "127.0.0.1"REDIS_PORT = 6379# flask-session配置SESSION_TYPE = "redis"SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)SESSION_USE_SIGNER = True  # 對cookie中session_id進行隱藏處理PERMANENT_SESSION_LIFETIME = 86400  # session數據的有效期,單位秒class DevelopmentConfig(Config):"""開發模式的配置信息"""DEBUG = Trueclass ProductionConfig(Config):"""生產環境配置信息"""passconfig_map = {"develop": DevelopmentConfig,"product": ProductionConfig
}

引入方式:
使用工廠模式,創造屬性類
config_class(DevelopmentConfig或者ProductionConfig)屬性類繼承父類Config

# 工廠模式
def create_app(config_name):"""創建flask的應用對象:param config_name: str  配置模式的模式的名字 ("develop",  "product"):return:"""app = Flask(__name__)# 根據配置模式的名字獲取配置參數的類config_class = config_map.get(config_name)app.config.from_object(config_class)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452539.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452539.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452539.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

g開頭的C語言編程軟件,C語言函數大全(g開頭)

函數名: gcvt功 能: 把浮點數轉換成字符串用 法: char *gcvt(double value, int ndigit, char *buf);程序例:#include#includeint main(void){char str[25];double num;int sig 5; /* significant digits *//* a regular number */num 9.876;gcvt(num, sig, str);printf(&quo…

什么是總體設計

總體設計的基本目的就是回答“概括地說,系統應該如何實現”這個問題,因此,總體設計又稱為概要設計或初步設計。總體設計階段的另一項重要任務是設計軟件的結構,也就是要確定系統中每個程序是由哪些模塊組成的,以及這些…

程序員成熟的標志《程序員成長路線圖:從入門到優秀》

對好書進行整理,把好內容共享。 我見證過許多的程序員的成長,他們很多人在進入成熟期之后,技術上相對較高,一般項目開發起來比較自信,沒有什么太大的困難,有的職位上也有所提升,成了項目經理、…

Diango博客--1.Django的接客之道

文章目錄0.思路引導1.實現最簡單的HelloWorld2.實現最簡單的HelloWorld(使用Templates)0.思路引導 django 的開發流程: 即首先配置 URL,把 URL 和相應的視圖函數綁定,一般寫在 urls.py 文件里,然后在工程的 urls.py 文件引入。 …

c語言is int number,C語言中NSInteger,NSNumber以及Int的區別

NSInteger和NSNumber首先:NSInteger,NSNumber并沒有什么關系,更不要想當然的以為二者還有什么繼承關系,甚至還有人問NSInteger是不是NSNumber的子類?答案當然是NO!!!NSInteger只是一個基本的數據類型,而NSNumber是OC的對象,并且NSNumber繼承自NSValue,NSValue又繼承自NSObject…

Git的GUI工具sourcetree的使用

一、Git的學習這部分學習廖雪峰的git教程,參加以下鏈接:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0001、首先是git的基本概念,如下圖所示:整個git管理主要分為工作區、版本庫&#xff0…

YY一下,扎克伯格做了一個什么樣的AI家居助手?

對于這款令小扎太太抓狂的AI家居助手,難道就沒人好奇嗎? 據說,扎克伯格每年都要給自己定個目標,而他也即將完成今年的目標——打造一個AI家居助手。 當初,在定下這個目標時,小扎為我們簡單描述了一下&…

Diango博客--2.博客從“裸奔”到“有皮膚”

文章目錄0.思路引導1.更改視圖函數,從數據庫中獲取數據2.網上下載模板,添加靜態文件3.修改模板Templates中css、js文件的加載路徑4.修改模板,引入模板變量,獲取數據庫數據0.思路引導 前文的Hello World 級別的視圖函數特別簡單&a…

抽象

人類在認識復雜現象的過程中使用的最強有力的思維工具是抽象。人們在實踐中認識到,在現實世界中一定事物、狀態或過程之間總存在著某些相似的方面(共性)。把這些相似的方面集中和概括起來,暫時忽略它們之間的差異,這就是抽象。或者說抽象就是…

程序員的成長從開竅開始系列 一、如何擺脫低級錯誤的困擾

最近,有兩位Google Maps API的初學者向我請教他們按照最簡單例子寫的程序為什么不能正常的運行。 其中一位用GTalk跟我交流,我仔細了看了他的代碼,沒看出問題,把代碼保存在本地,打開Firefox的錯誤控制臺,用…

脈沖時間寬度c語言,什么是脈沖寬度_脈沖寬度是什么意思

脈沖寬度是個很廣泛的詞,在不同的領域,脈沖寬度有不同的含義。脈沖寬度從學術角度講就是電流或者電壓隨時間有規律變化的時間寬度,平時研究主要是方波,三角波,鋸齒波,正弦函數波等等,這些波形變…

HDU - 5919 Sequence II

題意: 給定長度為n的序列和q次詢問。每次詢問給出一個區間(L,R),求出區間內每個數第一次出現位置的中位數,強制在線。 題解: 用主席樹從右向左的插入點。對于當前點i,如果a[i]出現過…

Django博客--3.創作后臺開啟

文章目錄0.創建admin后臺管理員賬號1.在 admin 后臺注冊模型2.漢化應用的標題3.漢化應用下各個模塊的名稱4.漢化應用下各個模塊的屬性的名稱5.文章列表顯示更加詳細的信息6.簡化新增文章的表單7.自動設置文章作者為當前用戶8.設定創建時間為當前時間9.設定修改建時間為保存時的…

逐步求精

逐步求精定義為為了能集中精力解決主要問題而盡量推遲對問題細節的考慮。 逐步求精最初是由NiklausWirth提出的一種自頂向下的設計策略。按照這種設計策略,程序的體系結構是通過逐步精化處理過程的層次而設計出來的。通過逐步分解對功能的宏觀陳述而開發出層次結構…

raid-6磁盤陣列損壞導致數據丟失的恢復過程(圖文教程)

一、故障描述機房突然斷電導致整個存儲癱瘓,加電后存儲依然無法使用。經過用戶方工程師診斷后認為是斷電導致存儲陣列損壞。整個存儲是由12塊日立硬盤(3T SAS硬盤)組成的RAID-6磁盤陣列,被分成一個卷,分配給幾臺Vmware…

編寫登錄注冊

const readline require(readline-sync);let error 3;let user [{username: 001,password: 123}, {username: 002,password: 456}, {uesrname: 003,password: 789}]//登錄let denglu function () {while (true) {console.log(請輸入您的登錄賬號:);let username…

android將字符串轉化為json,將字符串轉換為JSON數組

將字符串轉換為JSON數組我從Web服務獲得以下字符串的JSON,并嘗試將其轉換為 JSONarray{"locations": [{"lat": "23.053","long": "72.629","location": "ABC","address": "D…

談新技術學習方法-如何學習一門新技術新編程語言

學習一門編程語言或者編程技術的方式基本上是這樣一個流程: 1,對學習這門語言或者技術的必要性進行評估。比如你是工作需要,或者興趣所至,甚至是為了把妹。這個必要性關系到你要學多深入,需要學習多長時間。 比如我想…

信息隱藏和局部化

信息隱藏原理:應該這樣設計和確定模塊,使得一個模塊內包含的信息(過程和數據)對于不需要這些信息的模塊來說,是不能訪問的。 局部化是指把一些關系密切的軟件元素物理地放得彼此靠近。 如果在測試期間和以后的軟件維護期間需要修改軟件&#…

圖像識別自動化android,Android自動化測試

寫在開頭:Android UI 自動化測試推薦網易的Airtest,也是谷歌推薦的,操作簡單,而且基于圖像識別根據用戶操作界面自動生成Python測試代碼JUnit單元測試testImplementation junit:junit:4.12image.pngimage.png使用gradle命令進行單…