成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

8個(gè)能提高Django開發(fā)效率的Python包

譯文
開發(fā) 后端
這里介紹了一些有關(guān)Django的Python包,這些包將有益于您的工作、個(gè)人或業(yè)余項(xiàng)目。

【51CTO.com快譯】這里介紹了一些有關(guān)Django的Python包,這些包將有益于您的工作、個(gè)人或業(yè)余項(xiàng)目。

[[244602]]

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

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

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

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

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

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

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

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

12要素app設(shè)置:django-environ

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

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

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

Django-click,基于Click模塊(我們之前推薦過兩次),可以用來幫助您編寫Django管理命令。這個(gè)庫沒有大量的文檔,但是它的存儲庫中有一個(gè)測試命令的目錄,非常有用。一個(gè)基本的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}'

然后在命令行中運(yùn)行: 

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

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

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

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

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

聯(lián)系表格: #django-contact-form

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

注冊和用戶認(rèn)證:django-allauth

Django-allauth是一款應(yīng)用程序,它提供了用戶注冊、登錄、重置密碼以及通過GitHub或Twitter等外部網(wǎng)站驗(yàn)證用戶身份的視圖、表單和url。它支持使用電子郵件來進(jìn)行用戶名身份驗(yàn)證,并且有大量的文檔記錄。當(dāng)你***次使用它的時(shí)候,設(shè)置起來可能會有點(diǎn)混亂;請?jiān)谧远x設(shè)置時(shí)仔細(xì)閱讀安裝說明,以確保使用啟用特定功能所需的所有設(shè)置。

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

如果您的Django開發(fā)需要編寫API,那么您可能正在使用Django REST 框架(DRF)。如果您正在使用DRF,您就應(yīng)該了解下django-rest-auth,這是一個(gè)支持端點(diǎn)進(jìn)行用戶注冊、登錄/注銷、密碼重置和社交媒體身份驗(yàn)證的包(需要添加django-allauth,它可以很好地與django-rest-auth一起工作)。

可視化的Django REST 框架API:django-rest-swagger

Django REST Swagger提供了一個(gè)功能豐富的用戶界面,用于與Django REST 框架API進(jìn)行交互。一旦你安裝了Django REST stawk并將其添加到已安裝的應(yīng)用程序中之后,你就可以將stawk視圖和URL模式添加到你的urls.py文件中去;其余部分將在API的文檔字符串中被處理。

8個(gè)能夠提高Django開發(fā)效率的Python包

您的API的用戶界面將包含您應(yīng)用的所有端點(diǎn)和可用方法。它還將列出這些端點(diǎn)的可用操作,并使您能夠與API進(jìn)行交互(例如,添加/刪除/獲取記錄)。它使用API視圖中的docstring來為每個(gè)端點(diǎn)生成文檔,為項(xiàng)目創(chuàng)建一組對您、前端開發(fā)人員和用戶有用的API文檔。

原文標(biāo)題:8 Python packages that will simplify your life with Django,作者:Jeff Triplett

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2021-05-10 11:06:31

Python工具代碼

2020-11-26 12:05:44

Python小工具代碼

2021-05-20 11:30:17

Python工具代碼

2024-05-21 10:40:09

開發(fā)前端裝飾器

2018-10-08 08:42:06

編程語言DjangoPython

2015-12-15 09:50:12

Linux開發(fā)效率工具

2022-09-05 14:17:48

Javascript技巧

2023-11-22 08:26:03

HutoolJava工具集

2021-01-08 10:38:40

前端開發(fā)代碼

2021-05-18 15:41:15

開發(fā)工具編程

2015-07-22 09:44:07

Android開發(fā)Web工具

2012-03-14 09:35:56

JavaMaveneclipse

2021-01-12 15:17:40

命令Linux操作系統(tǒng)

2024-04-15 00:00:00

console語法樹AST

2012-03-07 09:41:01

Java

2019-05-13 14:00:13

CSS框架前端

2022-03-24 09:34:06

Bootstrap

2017-05-03 10:45:47

Python運(yùn)行效率竅門

2015-11-16 10:03:10

效率

2013-07-05 16:08:40

開發(fā)效率
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 秋霞电影一区二区 | 国产精品一区视频 | 亚洲一区高清 | 亚洲免费在线 | 国产精品1区2区 | 精品二区| 国产精品国产精品 | 国产1区在线 | 久久久久久久久久久成人 | 成人久久18免费网站麻豆 | 午夜av毛片 | 浴室洗澡偷拍一区二区 | 欧美aaaaaaaaaa | 亚洲福利网 | 日本淫视频| 日韩国产欧美 | av毛片 | 国产精品欧美一区二区三区不卡 | 福利一区二区 | 久久999| 久久久久久精 | 午夜免费视频 | 久久69精品久久久久久久电影好 | 蜜桃免费av| 欧美色综合 | 九久久| 亚州av| 操亚洲| 超碰97人人人人人蜜桃 | 亚洲精品视频在线 | 在线国产一区 | 九九热国产视频 | 久久亚洲国产精品日日av夜夜 | 日韩欧美一区二区三区 | 在线观看视频福利 | 高清免费在线 | 羞羞色视频 | 99精品视频在线观看免费播放 | 美美女高清毛片视频免费观看 | 亚洲三区在线观看 | 国精产品一区一区三区免费完 |