日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
8個能提高Django開發(fā)效率的Python包

這里介紹了一些有關Django的Python包,這些包將有益于您的工作、個人或業(yè)余項目。

Django開發(fā)人員,我們將在這個月的Python專欄中專門討論一些對您有幫助的包。這些是我們最喜歡的Django庫,能夠幫助我們節(jié)省時間,減少模板代碼,簡化我們的工作流程。這里介紹了六個Django應用程序包和兩個Django的REST框架包,當我們說這些包幾乎出現在我們工作的每個項目中時,一點也沒有夸張。

但是在此之前,你可以先看看我們之前寫的有關如何讓Django 管理更加安全的技巧,以及一篇關于5個最喜歡的開源Django包的文章。

節(jié)省時間的利器:django-extensions

Django-extensions是一個非常受歡迎的Django包,其中包含許多有用的工具,比如下面列出的這些管理命令:

  • shell_plus將啟動Django shell,并保證所有數據庫模型都已被加載。不再需要從幾個不同的應用程序中導入數據,來測試一個復雜的關系!
  • clean_pyc命令會將項目目錄中所有位置的.pyc項目刪除。
  • create_template_tags用于在您指定的應用程序中創(chuàng)建一個模板標簽目錄結構。
  • describe_form將顯示模型的表單定義,然后您可以將其復制/粘貼到forms.py中。(注意,這將生成一個普通的Django表單,而不是一個模型表單。)
  • notes命令可以在整個項目中顯示所有帶有TODO、FIXME等內容的注釋。

Django-extensions中還包含一些有用的抽象基類,可用于您自己的模型中。在創(chuàng)建模型時你可以從這些基類繼承:

  • TimeStampedModel:這個基類包括了創(chuàng)建和修改的字段,以及一個可以自動更新這些字段的save()方法。
  • ActivatorModel:如果您的模型需要status、activate_date和deactivate_date等字段,請使用這個基類。它附帶了一個啟用.active()和.inactive()查詢集的管理器。
  • TitleDescriptionModel和TitleSlugDescriptionModel:這兩個模型包含了標題和描述字段,而后者還包含一個slug字段。slug字段將根據標題字段自動填充。

Django-extensions還有更多你可能會發(fā)現在項目中非常有用的功能,瀏覽一下它的文檔吧!

12要素app設置:django-environ

Django-environ允許您使用12要素應用程序方法來管理Django項目中的設置。它會收集其他的庫,包括envparse和honcho。安裝完django- environment之后,將在項目的根目錄中創(chuàng)建一個.env文件。在該模塊中定義任何可能在環(huán)境之間更改或應該保密的設置變量(如API密鑰、調試狀態(tài)和數據庫url)。

然后,在項目的settings.py文件中,導入environ并根據示例為environ.PATH() 和 environ.Env()設置變量。使用env('VARIABLE_NAME')來訪問.env文件中定義的設置變量。

創(chuàng)建出色的管理命令:django-click

Django-click,基于Click模塊(我們之前推薦過兩次),可以用來幫助您編寫Django管理命令。這個庫沒有大量的文檔,但是它的存儲庫中有一個測試命令的目錄,非常有用。一個基本的Hello World命令如下: 

 
 
 
 
  1. # app_name.management.commands.hello.py  
  2. import djclick as click  
  3. @click.command()  
  4. @click.argument('name')  
  5. def command(name):  
  6. click.secho(f'Hello, {name}') 

然后在命令行中運行: 

 
 
 
 
  1. >> ./manage.py hello Lacey  
  2. Hello, Lacey 

支持有限狀態(tài)機:django-fsm

Django-fsm為Django模型添加了對有限狀態(tài)機的支持。如果你在運營一個新聞網站,需要撰寫、編輯和發(fā)表文章,django-fsm可以幫助你定義這些狀態(tài),并管理從一個狀態(tài)轉移到另一個狀態(tài)的規(guī)則和限制。

Django-fsm提供了一個FSMField,用于定義模型實例狀態(tài)的model屬性。然后,您可以使用django-fsm的@transition裝飾器來定義將模型實例從一種狀態(tài)移動到另一種狀態(tài)的方法,并處理該轉換帶來的任何副作用。

雖然Django -fsm的文檔也很少,但是了解Django中的Workflows(States)是一個基礎,它有助于理解有限狀態(tài)機和Django -fsm。

聯系表格: #django-contact-form

在網站上,聯系表格是一個經常會被需要的東西。但你不需要自己編寫所有的樣板代碼——使用django-contact-form在幾分鐘內就可以設置好自己的代碼。它附帶一個可選的垃圾郵件過濾聯系人表單類(以及一個常規(guī)的非過濾類)和一個ContactFormView基類,其中包含可以覆蓋或自定義的方法,它會引導您瀏覽創(chuàng)建表單所需的工作模板。

注冊和用戶認證:django-allauth

Django-allauth是一款應用程序,它提供了用戶注冊、登錄、重置密碼以及通過GitHub或Twitter等外部網站驗證用戶身份的視圖、表單和url。它支持使用電子郵件來進行用戶名身份驗證,并且有大量的文檔記錄。當你***次使用它的時候,設置起來可能會有點混亂;請在自定義設置時仔細閱讀安裝說明,以確保使用啟用特定功能所需的所有設置。

支持Django REST框架來處理用戶身份驗證:django-rest-auth

如果您的Django開發(fā)需要編寫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來為每個端點生成文檔,為項目創(chuàng)建一組對您、前端開發(fā)人員和用戶有用的API文檔。


名稱欄目:8個能提高Django開發(fā)效率的Python包
網頁地址:http://www.dlmjj.cn/article/cdgjcip.html