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)存, 如果不必要的可以禁用它。 |
參考: