Flask配置項(xiàng)說明

Flask的配置項(xiàng)

配置項(xiàng)名稱 說明
DEBUG 啟用/禁用調(diào)試模式
TESTING 啟用/禁用測試模式
PROPAGATE_EXCEPTIONS 顯式地允許或禁用異常的傳播。如果沒有設(shè)置或顯式地設(shè)置為 None ,當(dāng) TESTING 或 DEBUG 為真時(shí),這個值隱式地為 true.
PRESERVE_CONTEXT_ON_EXCEPTION 默認(rèn)情況下,如果應(yīng)用工作在調(diào)試模式,請求上下文不會在異常時(shí)出棧來允許調(diào)試器內(nèi)省。 這可以通過這個鍵來禁用。你同樣可以用這個設(shè)定來強(qiáng)制啟用它,即使沒有調(diào)試執(zhí)行,這對調(diào)試生產(chǎn)應(yīng)用很有用(但風(fēng)險(xiǎn)也很大)
SECRET_KEY 密鑰
SESSION_COOKIE_NAME 會話 cookie 的名稱。
SESSION_COOKIE_DOMAIN 會話 cookie 的域。如果不設(shè)置這個值,則 cookie 對 SERVER_NAME 的全部子域名有效
SESSION_COOKIE_PATH 會話 cookie 的路徑。如果不設(shè)置這個值,且沒有給 '/' 設(shè)置過,則 cookie 對 APPLICATION_ROOT 下的所有路徑有效。
SESSION_COOKIE_HTTPONLY 控制 cookie 是否應(yīng)被設(shè)置 httponly 的標(biāo)志, 默認(rèn)為 True
SESSION_COOKIE_SECURE 控制 cookie 是否應(yīng)被設(shè)置安全標(biāo)志,默認(rèn)為 False
PERMANENT_SESSION_LIFETIME datetime.timedelta對象控制長期會話的生存時(shí)間。從 Flask 0.8 開始,也可以用整數(shù)來表示秒。
SESSION_REFRESH_EACH_REQUEST 這個標(biāo)志控制永久會話如何刷新。如果被設(shè)置為 True (這是默認(rèn)值),每一個請求 cookie 都會被刷新。如果設(shè)置為 False ,只有當(dāng) cookie 被修改后才會發(fā)送一個 set-cookie 的標(biāo)頭。非永久會話不會受到這個配置項(xiàng)的影響 。
USE_X_SENDFILE 啟用/禁用 x-sendfile
LOGGER_NAME 日志記錄器的名稱
SERVER_NAME 服務(wù)器名和端口。需要這個選項(xiàng)來支持子域名 (例如: 'myapp.dev:5000' )。注意 localhost 不支持子域名,所以把這個選項(xiàng)設(shè)置為 “l(fā)ocalhost” 沒有意義。設(shè)置 SERVER_NAME 默認(rèn)會允許在沒有請求上下文而僅有應(yīng)用上下文時(shí)生成 URL
APPLICATION_ROOT 如果應(yīng)用不占用完整的域名或子域名,這個選項(xiàng)可以被設(shè)置為應(yīng)用所在的路徑。這個路徑也會用于會話 cookie 的路徑值。如果直接使用域名,則留作 None
MAX_CONTENT_LENGTH 如果設(shè)置為字節(jié)數(shù), Flask 會拒絕內(nèi)容長度大于此值的請求進(jìn)入,并返回一個 413 狀態(tài)碼
SEND_FILE_MAX_AGE_DEFAULT 默認(rèn)緩存控制的最大期限,以秒計(jì),在flask.Flask.send_static_file()(默認(rèn)的靜態(tài)文件處理器)中使用。對于單個文件分別在 Flask或Blueprint上使用get_send_file_max_age()來覆蓋這個值。默認(rèn)為 43200(12小時(shí))。
TRAP_HTTP_EXCEPTIONS 如果這個值被設(shè)置為 True ,F(xiàn)lask不會執(zhí)行 HTTP 異常的錯誤處理,而是像對待其它異常一樣, 通過異常棧讓它冒泡地拋出。這對于需要找出 HTTP 異常源頭的可怕調(diào)試情形是有用的。
TRAP_BAD_REQUEST_ERRORS Werkzeug 處理請求中的特定數(shù)據(jù)的內(nèi)部數(shù)據(jù)結(jié)構(gòu)會拋出同樣也是“錯誤的請求”異常的特殊的 key errors 。同樣地,為了保持一致,許多操作可以顯式地拋出 BadRequest 異常。因?yàn)樵谡{(diào)試中,你希望準(zhǔn)確地找出異常的原因,這個設(shè)置用于在這些情形下調(diào)試。如果這個值被設(shè)置為 True ,你只會得到常規(guī)的回溯。
PREFERRED_URL_SCHEME 生成URL的時(shí)候如果沒有可用的 URL 模式話將使用這個值。默認(rèn)為 http
JSON_AS_ASCII 默認(rèn)情況下 Flask 使用 ascii 編碼來序列化對象。如果這個值被設(shè)置為 False , Flask不會將其編碼為 ASCII,并且按原樣輸出,返回它的 unicode 字符串。比如 jsonfiy 會自動地采用 utf-8 來編碼它然后才進(jìn)行傳輸。
JSON_SORT_KEYS 默認(rèn)情況下 Flask 按照 JSON 對象的鍵的順序來序來序列化它。這樣做是為了確保鍵的順序不會受到字典的哈希種子的影響,從而返回的值每次都是一致的,不會造成無用的額外 HTTP 緩存。你可以通過修改這個配置的值來覆蓋默認(rèn)的操作。但這是不被推薦的做法因?yàn)檫@個默認(rèn)的行為可能會給你在性能的代價(jià)上帶來改善。
JSONIFY_PRETTYPRINT_REGULAR 如果這個配置項(xiàng)被 True (默認(rèn)值), 如果不是 XMLHttpRequest 請求的話(由 X-Requested-With 標(biāo)頭控制) json 字符串的返回值會被漂亮地打印出來。

Flask-SQLAlchemy配置項(xiàng)整理

配置項(xiàng)名稱 說明
SQLALCHEMY_DATABASE_URI 用于連接數(shù)據(jù)的數(shù)據(jù)庫。例如:
sqlite:////tmp/test.db
mysql://username:password@server/db
SQLALCHEMY_BINDS 一個映射綁定 (bind) 鍵到 SQLAlchemy 連接 URIs 的字典。 更多的信息請參閱 綁定多個數(shù)據(jù)庫
SQLALCHEMY_ECHO 如果設(shè)置成 True,SQLAlchemy 將會記錄所有 發(fā)到標(biāo)準(zhǔn)輸出(stderr)的語句,這對調(diào)試很有幫助。
SQLALCHEMY_RECORD_QUERIES 可以用于顯式地禁用或者啟用查詢記錄。查詢記錄在調(diào)試或者測試模式下自動啟用。更多信息請參閱 get_debug_queries()
SQLALCHEMY_NATIVE_UNICODE 可以用于顯式地禁用支持原生的 unicode。這是 某些數(shù)據(jù)庫適配器必須的(像在 Ubuntu 某些版本上的 PostgreSQL),當(dāng)使用不合適的指定無編碼的數(shù)據(jù)庫默認(rèn)值時(shí)。
SQLALCHEMY_POOL_SIZE 數(shù)據(jù)庫連接池的大小。默認(rèn)是數(shù)據(jù)庫引擎的默認(rèn)值 (通常是 5)。
SQLALCHEMY_POOL_TIMEOUT 指定數(shù)據(jù)庫連接池的超時(shí)時(shí)間。默認(rèn)是 10。
SQLALCHEMY_POOL_RECYCLE 自動回收連接的秒數(shù)。這對 MySQL 是必須的,默認(rèn) 情況下 MySQL 會自動移除閑置 8 小時(shí)或者以上的連接。 需要注意地是如果使用 MySQL 的話, Flask-SQLAlchemy 會自動地設(shè)置這個值為 2 小時(shí)。
SQLALCHEMY_MAX_OVERFLOW 控制在連接池達(dá)到最大值后可以創(chuàng)建的連接數(shù)。當(dāng)這些額外的連接回收到連接池后將會被斷開和拋棄。
SQLALCHEMY_TRACK_MODIFICATIONS 如果設(shè)置成 True (默認(rèn)情況),F(xiàn)lask-SQLAlchemy 將會追蹤對象的修改并且發(fā)送信號。這需要額外的內(nèi)存, 如果不必要的可以禁用它。

參考:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容