【51CTO.com快譯】這裡介紹了一些有關Django的Python包,這些包將有益於您的工作、個人或業餘項目。
Django開發人員,我們將在這個月的Python專欄中專門討論一些對您有幫助的包。這些是我們最喜歡的Django庫,能夠幫助我們節省時間,減少模板代碼,簡化我們的工作流程。這裡介紹了六個Django應用程式包和兩個Django的REST框架包,當我們說這些包幾乎出現在我們工作的每個項目中時,一點也沒有誇張。
但是在此之前,你可以先看看我們之前寫的有關如何讓Django 管理更加安全的技巧,以及一篇關於5個最喜歡的開源Django包的文章。
節省時間的利器:django-extensions
Django-extensions是一個非常受歡迎的Django包,其中包含許多有用的工具,比如下面列出的這些管理命令:
Django-extensions中還包含一些有用的抽象基類,可用於您自己的模型中。在創建模型時你可以從這些基類繼承:
Django-extensions還有更多你可能會發現在項目中非常有用的功能,瀏覽一下它的文檔吧!
12要素app設置:django-environ
Django-environ允許您使用12要素應用程式方法來管理Django項目中的設置。它會收集其他的庫,包括envparse和honcho。安裝完django- environment之後,將在項目的根目錄中創建一個.env文件。在該模塊中定義任何可能在環境之間更改或應該保密的設置變量(如API密鑰、調試狀態和資料庫url)。
然後,在項目的settings.py文件中,導入environ並根據示例為environ.PATH() 和 environ.Env()設置變量。使用env('VARIABLE_NAME')來訪問.env文件中定義的設置變量。
創建出色的管理命令:django-click
Django-click,基於Click模塊(我們之前推薦過兩次),可以用來幫助您編寫Django管理命令。這個庫沒有大量的文檔,但是它的存儲庫中有一個測試命令的目錄,非常有用。一個基本的Hello World命令如下:
然後在命令行中運行:
支持有限狀態機:django-fsm
Django-fsm為Django模型添加了對有限狀態機的支持。如果你在運營一個新聞網站,需要撰寫、編輯和發表文章,django-fsm可以幫助你定義這些狀態,並管理從一個狀態轉移到另一個狀態的規則和限制。
Django-fsm提供了一個FSMField,用於定義模型實例狀態的model屬性。然後,您可以使用django-fsm的@transition裝飾器來定義將模型實例從一種狀態移動到另一種狀態的方法,並處理該轉換帶來的任何副作用。
雖然Django -fsm的文檔也很少,但是了解Django中的Workflows(States)是一個基礎,它有助於理解有限狀態機和Django -fsm。
聯繫表格: #django-contact-form
在網站上,聯繫表格是一個經常會被需要的東西。但你不需要自己編寫所有的樣板代碼——使用django-contact-form在幾分鐘內就可以設置好自己的代碼。它附帶一個可選的垃圾郵件過濾聯繫人表單類(以及一個常規的非過濾類)和一個ContactFormView基類,其中包含可以覆蓋或自定義的方法,它會引導您瀏覽創建表單所需的工作模板。
註冊和用戶認證:django-allauth
Django-allauth是一款應用程式,它提供了用戶註冊、登錄、重置密碼以及通過GitHub或Twitter等外部網站驗證用戶身份的視圖、表單和url。它支持使用電子郵件來進行用戶名身份驗證,並且有大量的文檔記錄。當你***次使用它的時候,設置起來可能會有點混亂;請在自定義設置時仔細閱讀安裝說明,以確保使用啟用特定功能所需的所有設置。
支持Django REST框架來處理用戶身份驗證:django-rest-auth
如果您的Django開發需要編寫API,那麼您可能正在使用Django REST 框架(DRF)。如果您正在使用DRF,您就應該了解下django-rest-auth,這是一個支持端點進行用戶註冊、登錄/註銷、密碼重置和社交媒體身份驗證的包(需要添加django-allauth,它可以很好地與django-rest-auth一起工作)。
可視化的Django REST 框架API:django-rest-swagger
Django REST Swagger提供了一個功能豐富的用戶界面,用於與Django REST 框架API進行交互。一旦你安裝了Django REST stawk並將其添加到已安裝的應用程式中之後,你就可以將stawk視圖和URL模式添加到你的urls.py文件中去;其餘部分將在API的文檔字符串中被處理。
您的API的用戶界面將包含您應用的所有端點和可用方法。它還將列出這些端點的可用操作,並使您能夠與API進行交互(例如,添加/刪除/獲取記錄)。它使用API視圖中的docstring來為每個端點生成文檔,為項目創建一組對您、前端開發人員和用戶有用的API文檔。
原文標題:8 Python packages that will simplify your life with Django,作者:Jeff Triplett
【51CTO譯稿,合作站點轉載請註明原文譯者和出處為51CTO.com】
【責任編輯:
龐桂玉TEL:(010)68476606】