過渡到 Werkzeug 1.0

2018-02-24 15:39 更新

過渡到 Werkzeug 1.0

Werkzeug 原本有一個(gè)神奇的導(dǎo)入系統(tǒng)鉤子,如果啟用它則可以從一個(gè)模塊導(dǎo)入所有東西而且還可以根據(jù)實(shí)際需要選擇性加載。不幸的是,這種方法被證明是效率低下的,用它來代替Python實(shí)現(xiàn)和GAE是不可靠的。

從 0.7 開始我們不推薦短入口,強(qiáng)烈鼓勵(lì)從一個(gè)實(shí)際實(shí)現(xiàn)的模塊來導(dǎo)入。Werkzeug 1.0 將完全不支持這種神奇的導(dǎo)入鉤子。

因?yàn)槭謩?dòng)去發(fā)現(xiàn)那么實(shí)際的函數(shù)被導(dǎo)入并重寫他們是一個(gè)痛苦和乏味的過程,所以我們寫了一個(gè)工具來幫助過渡。

自動(dòng)重寫入口

舉個(gè)例子, Werkzeug < 0.7 版本推薦的方法是使用 escape 函數(shù),用法如下:

from werkzeug import escape

Werkzeug 0.7 版本推薦的方法是直接從工具包導(dǎo)入 escape 函數(shù)(1.0 版本這個(gè)方法將會(huì)變成強(qiáng)制性的)。為了自動(dòng)重寫所有的入口你可以使用 werkzeug-import-rewrite script。

你可以通過 Python 和 Werkzeug 基礎(chǔ)代碼的文件夾列表來執(zhí)行它。它將會(huì)輸出一個(gè) hg/git兼容的補(bǔ)丁文件。如下:

$ python werkzeug-import-rewrite.py . > new-imports.udiff

通過下列方法應(yīng)用補(bǔ)丁文件:

hg:

hg import new-imports.udiff

git:

git apply new-imports.udiff

patch:

patch -p1 < new-imports.udiff

停止使用廢棄的東西

Werkzeug 上的一些東西將停止更新,我們強(qiáng)烈建議替換掉即使他們短時(shí)間內(nèi)還可以使用。

不要使用:

  • werkzeug.script ,用 argparse 或其他相似的工具定制腳本替換它。
  • werkzeug.template, 用一個(gè)適當(dāng)?shù)哪0逡嫣鎿Q它。
  • werkzeug.contrib.jsrouting ,停止使用Javascript URL 生成器,它與許多公共公共路由的擴(kuò)展性不是很好。
  • werkzeug.contrib.kickstart ,取代手寫代碼,實(shí)際上 Werkzeug API 變得越來越好,他不再是必需的。
  • werkzeug.contrib.testtools ,已經(jīng)不是那么有用了。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)