Flask 發布 1.0 穩定版
05-03
簡評:現在都開始版本大躍進了嗎?對,別看別人,說的就是你 pipenv(名單太長,待補齊...)
Flask 其實早就已經十分穩定了,而在第一個 commit 大概 8 年之後,版本號才最終反映出了這一點。1.0 有大量的變化,這也代表了一年多的工作。
- 不再支持 Python 2.6 和 3.3。
- CLI 更靈活,
FLASK_APP
可以指向一個應用程序工廠,它可以在更多情況(使用過的文件名)下理解導入名稱,它會自動檢測常見的文件名,應用名稱和工廠名稱。FLASK_ENV
描述應用運行的環境(比如development
環境),並在大多數情況下替換FLASK_DEBUG
,查看文檔以了解更多信息。 - 如果安裝了
python-dotenv
,flask
CLI 將從文件.flaskenv
和.env
中載入環境變數,而不必在每個新終端中導出它們。 - 開發伺服器默認使用多線程處理並發請求。
- 完全刪之前棄用的
flask.ext
,按其實際包名稱導入擴展。 - 調試模式下,缺少的密鑰時會從
request.form
顯示更有用的錯誤消息,這解決了開發人員常見的困惑。 - 改進了錯誤處理機制。
- 極大簡化
app.logger
的行為,使得更容易自定義。logger 總是命名為flask.app
,如果沒有被註冊的話,它只添加一個處理器,並且永遠不會刪除現有的處理器。查看文檔以了解更多信息。 test_client
增加json
參數用於 postJSON
數據,並且Response
對象新增get_json
方法來在測試時以 JSON 格式解碼數據。- 新增
test_cli_runner
來測試應用的 CLI 命令。 - 重寫文檔的許多部分,以提高清晰度和相關性,這是一項持續的工作。
- 重寫教程和相應的示例,使用結構化布局並詳細解釋每個方面,以幫助新用戶避免常見問題並適應 Flask。
整個框架中還有很多其他更改,可以閱讀完整的更新日誌了解升級時可能會對代碼造成的影響。
JSON 安全修復
Flask 先前使用請求的內容類型(content type )解碼傳入的 JSON 位元組。儘管 JSON 只能編碼為 UTF-8,但 Flask 更加寬鬆。然而,Python 包含的非文本相關的編碼,可能會導致請求意外使用內存。
Flask 現在將檢測傳入的 JSON 數據的編碼是否為受支持的 UTF 編碼之一,並且不再允許來自請求的任意編碼。
安裝或升級
使用 pip 從 PyPI 安裝:
$ pip install -U Flask
原文:Flask 1.0 Released
擴展閱讀:
- Python 3.7 將引入 dataclass 裝飾器
- Python:range 對象並不是迭代器
- PyPI 終於支持 Markdown 了
極光日報,極光開發者旗下媒體。
每天導讀三篇英文技術文章。
推薦閱讀:
※Flask文件上傳(二):使用擴展實現
※0608 - Flask 學的有點感覺了
※Flask文件上傳系列目錄索引
※Flask實踐:圖片牆生成器