# 過渡到 Werkzeug 1.0
Werkzeug 原本有一個神奇的導入系統鉤子,如果啟用它則可以從一個模塊導入所有東西而且還可以根據實際需要選擇性加載。不幸的是,這種方法被證明是效率低下的,用它來代替Python實現和GAE是不可靠的。
從 0.7 開始我們不推薦短入口,強烈鼓勵從一個實際實現的模塊來導入。Werkzeug 1.0 將完全不支持這種神奇的導入鉤子。
因為手動去發現那么實際的函數被導入并重寫他們是一個痛苦和乏味的過程,所以我們寫了一個工具來幫助過渡。
### 自動重寫入口
舉個例子, Werkzeug < 0.7 版本推薦的方法是使用 escape 函數,用法如下:
~~~
from werkzeug import escape
~~~
Werkzeug 0.7 版本推薦的方法是直接從工具包導入 escape 函數(1.0 版本這個方法將會變成強制性的)。為了自動重寫所有的入口你可以使用 [werkzeug-import-rewrite](http://bit.ly/import-rewrite) script。
你可以通過 Python 和 Werkzeug 基礎代碼的文件夾列表來執行它。它將會輸出一個 hg/git兼容的補丁文件。如下:
~~~
$ python werkzeug-import-rewrite.py . > new-imports.udiff
~~~
通過下列方法應用補丁文件:
hg:
~~~
hg import new-imports.udiff
~~~
git:
~~~
git apply new-imports.udiff
~~~
patch:
~~~
patch -p1 < new-imports.udiff
~~~
### 停止使用廢棄的東西
Werkzeug 上的一些東西將停止更新,我們強烈建議替換掉即使他們短時間內還可以使用。
不要使用:
- werkzeug.script ,用 argparse 或其他相似的工具定制腳本替換它。
- werkzeug.template, 用一個適當的模板引擎替換它。
- werkzeug.contrib.jsrouting ,停止使用Javascript URL 生成器,它與許多公共公共路由的擴展性不是很好。
- werkzeug.contrib.kickstart ,取代手寫代碼,實際上 Werkzeug API 變得越來越好,他不再是必需的。
- werkzeug.contrib.testtools ,已經不是那么有用了。
- 開始
- Werkzeug 文檔概覽
- 安裝
- 過渡到 Werkzeug 1.0
- Werkzeug 教程
- API 標準
- 快速開始
- Python 3 Notes
- 服務和測試
- Debugging Applications
- 在服務器運行 WSGI 應用
- 單元測試
- 參考
- Request / Response Objects
- URL Routing
- WSGI Helpers
- HTTP Utilities
- Data Structures
- Utilities
- Context Locals
- Middlewares
- HTTP Exceptions
- 部署
- CGI
- mod_wsgi (Apache)
- FastCGI
- HTTP Proxying
- 貢獻模塊
- Atom Syndication
- Sessions
- Secure Cookie
- Cache
- Extra Wrappers
- Iter IO
- Fixers
- WSGI Application Profiler
- Lint Validation Middleware
- 額外說明
- Werkzeug Changelog
- Important Terms
- Unicode
- Dealing with Request Data