設計,構建,測試以及維護一個 web 應用要做很多的工作。很多 Python 以及 Django 項目都有一些常見問題。如果我們能保存並利用這些重複工作豈不是更好?
可重用性是Python的生存方式。 Python軟體Packages索引(PyPI) 有很多可以在你自己的Python程式中使用的軟體Packages。查看 Django Packages 以瞭解您可以整合到項目中的現有可重用應用。Django本身也只是一個PythonPackages。這意味著您可以將現有的PythonPackages或Django應用組合到您自己的Web項目中。您只需編寫您項目獨一無二的部分。
假設你現在創建了一個新的項目,並且需要一個類似我們之前做的投票應用。你該如何復用這個應用呢?慶幸的是,其實你已經知道了一些。在 教程 1,我們使用過 include 從項目級別的 URLconf 分割出 polls。在本教程中,我們將進一步使這個應用易用於新的項目中,並發布給其他人安裝使用。
Packages?應用?
一個 package 提供了一組關聯的 Python 代碼的簡單復用方式。一個Packages(“模塊”)Packages含了一個或多個 Python 代碼文件。
一個Packages通過 import foo.bar 或 from foo import bar 的形式導入。一個目錄(例如 polls)要成為一個Packages,它必須Packages含一個特定的文件 init.py,即便這個文件是空的。
Django 應用 僅僅是專用於 Django 項目的 Python Packages。應用會按照 Django 約定,創建好 models, tests, urls, 以及 views 等子模塊。
稍後,我們將解釋術語 打包Packages ——為了方便其它人安裝 Python Packages的處理流程。我知道,這可能會使你感到一點點迷惑。