溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

有哪些Django使用的小技巧

發(fā)布時(shí)間:2020-08-25 10:08:51 來(lái)源:億速云 閱讀:112 作者:Leah 欄目:編程語(yǔ)言

本篇文章為大家展示了有哪些Django使用的小技巧,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

Django 作為一個(gè)杰出的Python開(kāi)源框架,或許得不到和其它流行框架如Rails這樣多的贊美,但是它和其他框架一樣精煉,非常注重DRY(Don't Repeat Yoursef)原則、組件的重用性,通過(guò)自動(dòng)化過(guò)程使編碼更簡(jiǎn)潔。

如果在Django項(xiàng)目中能夠靈活使用某些方法和技巧的話,它將大大加快軟件開(kāi)發(fā)的速度同時(shí)避免很多頭疼的事。下面列舉了幾點(diǎn),這些方法由淺入深,可以幫助任何級(jí)別的程序員更加熟練的使用Django。

1、 在配置中使用相對(duì)路徑

某些原因使得項(xiàng)目可能常常會(huì)被來(lái)回的遷移。如果沒(méi)有事先規(guī)劃好這種可能性的話這絕對(duì)是一個(gè)棘手的問(wèn)題。Rob Hudson 有一個(gè)極好的技巧能夠確保你的Django項(xiàng)目在部署過(guò)程中能夠輕松的來(lái)回遷移。僅僅只要編寫幾行代碼在你的配置文件(settings.py)中。

import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
  
TEMPLATE_DIRS = (
  BASE_DIR + '/templates',
)

2、 使用{%url%}標(biāo)簽

盡可能使用向后兼容的{%url%}標(biāo)簽來(lái)替換硬編碼形式的href,與使用絕對(duì)路徑的url(當(dāng)然最好不要這樣做) 一樣達(dá)到相同的效果。你的Django項(xiàng)目遷移起來(lái),那些鏈接也不會(huì)有影響。(譯者注:比如說(shuō)我們有一個(gè)views.about函數(shù)指向about頁(yè)面r'^about/$',就可以{% url views.about as about_url %}然后用{{about_url}}這個(gè)變量來(lái)代替絕對(duì)URL地址)盡管它還不是最高級(jí)的技巧,但是它確實(shí)值得你應(yīng)用于Django項(xiàng)目中。

3、 嘗試把Django admin應(yīng)用到PHP項(xiàng)目中

Django最偉大的特性之一就是已經(jīng)成為Django的核心功能的用戶驗(yàn)證系統(tǒng)。它易安裝,主要用于用戶認(rèn)證和其它一些必要的配置。這個(gè)酷斃了的用戶系統(tǒng)甚至被建議應(yīng)用到你的PHP項(xiàng)目中去,這里有一邊Jeff Croft 關(guān)于為什么Django能夠作為任何語(yǔ)言任何應(yīng)用中的系統(tǒng)管理模塊的一個(gè)很好的解決方案。

4、 使用獨(dú)立的媒體服務(wù)器

在開(kāi)發(fā)環(huán)境中把靜態(tài)文件放在與Django項(xiàng)目所在的同一臺(tái)服務(wù)器中問(wèn)題并不大,但是卻不要使用在生產(chǎn)環(huán)境中,為什么?效率問(wèn)題。Jacobian.org給出了一個(gè)合理的解釋。通過(guò)一臺(tái)獨(dú)立的服務(wù)器來(lái)處理靜態(tài)文件,性能將得到有效的提升,如果不想買服務(wù)器的話,那么使用Amazon S3相對(duì)來(lái)更便宜。

5、 使用Debugger工具條

調(diào)試工具對(duì)任何一種語(yǔ)言來(lái)說(shuō)都是不可或缺的.他們能夠加快開(kāi)發(fā)的速度,指出潛在的缺陷. Rob Hudson開(kāi)發(fā)了一個(gè)對(duì)開(kāi)發(fā)人員非常有用django調(diào)試工具。

6、 使用Django單元測(cè)試

利用單元測(cè)試確保你代碼的改變和預(yù)期的一樣,而不會(huì)破壞任何老的代碼,以便向后兼容。Django一個(gè)強(qiáng)大的特性就是他能極其簡(jiǎn)單地寫單元測(cè)試。Django也可直接使用python的文本測(cè)試和單元測(cè)試。Django的文檔提供了一個(gè)詳細(xì)的教程和樣例代碼關(guān)于怎樣做單元測(cè)試使得代碼正確地運(yùn)行,以及去除討厭的bug

7、使用Django-chunks

除了使用Django的富文本編輯器創(chuàng)建塊更容易之外,Django-chunks同樣是用于模板中,這是重用代碼塊的必不可少的工具。

8、 使用Memcache

如果性能在你的Django項(xiàng)目中已經(jīng)成為一個(gè)棘手的問(wèn)題,那么你將需要使用一些緩存策略。然而Django為緩存提供很多的選擇。目前最好的無(wú)疑是Memcache,用Django安裝memcache非常地簡(jiǎn)單,如果你使用cmemcache模塊的時(shí)候。只要模塊安裝完成后,你僅僅修改一行配置項(xiàng),你的Django頁(yè)面變得輕快起來(lái)。

上述內(nèi)容就是有哪些Django使用的小技巧,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI