Flask 內(nèi)置的配置值

2021-08-10 17:46 更新

下列配置值是 Flask 內(nèi)部使用的:

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

關(guān)于 SERVER_NAME 的更多

SERVER_NAME 用于子域名支持。因?yàn)?Flask 在得知現(xiàn)有服務(wù)器名之前不能 猜測(cè)出子域名部分,所以如果你想使用子域名,這個(gè)選項(xiàng)是必要的,并且也用于會(huì) 話 cookie 。

請(qǐng)注意,不只是 Flask 有不知道子域名是什么的問題,你的 web 瀏覽器也會(huì)這 樣?,F(xiàn)代 web 瀏覽器不允許服務(wù)器名不含有點(diǎn)的跨子域名 cookie 。所以如果你 的服務(wù)器名是 'localhost' ,你不能在 'localhost' 和它的每個(gè)子域名 下設(shè)置 cookie 。請(qǐng)選擇一個(gè)合適的服務(wù)器名,像 'myapplication.local' , 并添加你想要的 服務(wù)器名 + 子域名 到你的 host 配置或設(shè)置一個(gè)本地 綁定 。

0.4 新版功能: LOGGER_NAME

0.5 新版功能: SERVER_NAME

0.6 新版功能: MAX_CONTENT_LENGTH

0.7 新版功能: PROPAGATE_EXCEPTIONS, PRESERVE_CONTEXT_ON_EXCEPTION

0.8 新版功能: TRAP_BAD_REQUEST_ERRORS, TRAP_HTTP_EXCEPTIONS, APPLICATION_ROOT, SESSION_COOKIE_DOMAIN, SESSION_COOKIE_PATH, SESSION_COOKIE_HTTPONLY, SESSION_COOKIE_SECURE

0.9 新版功能: PREFERRED_URL_SCHEME

0.10 新版功能: JSON_AS_ASCII, JSON_SORT_KEYS, JSONIFY_PRETTYPRINT_REGULAR

1.0 新版功能: SESSION_REFRESH_EACH_REQUEST

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)