溫馨提示×

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

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

關(guān)于Django中dj-scaffold的案例分析

發(fā)布時(shí)間:2020-08-04 14:07:46 來(lái)源:億速云 閱讀:98 作者:清晨 欄目:編程語(yǔ)言

小編給大家分享一下關(guān)于Django中dj-scaffold的案例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家學(xué)習(xí),希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學(xué)習(xí)方法吧!

由于Django沒(méi)有象rails一樣指定項(xiàng)目的目錄結(jié)構(gòu)規(guī)范,很多人都對(duì)django項(xiàng)目的目錄結(jié)構(gòu)要如何組織而感到困惑。為此有一個(gè)開(kāi)源項(xiàng)目dj-scaffold(django的腳手架)。這個(gè)項(xiàng)目用于自動(dòng)生成一個(gè)標(biāo)注化的django項(xiàng)目和app。現(xiàn)在簡(jiǎn)單了解下這個(gè)項(xiàng)目的架構(gòu)、使用。

項(xiàng)目地址:https://github.com/vicalloy/dj-scaffold

關(guān)于Django中dj-scaffold的案例分析

安裝

已經(jīng)發(fā)布到了pypi,所以你可以用pip或easy_install 來(lái)進(jìn)行安裝。

pip install dj-scaffold 
easy_install dj-scaffold

使用

dj-scaffold主要提供了兩個(gè)命令,dj-scaffold.py和lbstartapp。

dj-scaffold.py

該腳本用于取代django的startproject命令。使用方式如下:

dj-scaffold.py projectname

在該命令執(zhí)行后,將創(chuàng)建項(xiàng)目projectname。在項(xiàng)目的scripts目錄中提供了腳本create_env.py和env.rc。

create_env.py 執(zhí)行該腳本將自動(dòng)初始化python虛擬環(huán)境。新生成的python虛擬環(huán)境在env目錄。

env.rc 該腳本用戶啟動(dòng)python虛擬環(huán)境(source env.rc)。該腳本同時(shí)為python manage.py設(shè)置了快捷方式$mg。你可以在任何目錄調(diào)用$mg來(lái)執(zhí)行django命令。比如你用$mg runserver來(lái)啟動(dòng)測(cè)試服務(wù)器。

項(xiàng)目對(duì)應(yīng)的目錄結(jié)構(gòu)如下:

注:文件太多,去掉了部分不重要的文件

dj-scaffold.py projectname
|+docs/  #用于存放項(xiàng)目的相關(guān)文檔
|+env/   #python虛擬環(huán)境,由腳本自動(dòng)生成
|~requirements/   #第三方依賴包的存放位置
| `-requirements.pip  #pip的依賴說(shuō)明文件
|~scripts/  #系統(tǒng)相關(guān)的腳本
| |-create_env.py  #創(chuàng)建python虛擬環(huán)境(env目錄)
| `-env.rc  #進(jìn)入python虛擬環(huán)境。同時(shí)提供python manger.py的快捷方式$mg??稍谌我饽夸浭褂?mg。
|~sites/  #Django的項(xiàng)目文件。在settings文件中增加了部分默認(rèn)配置。如數(shù)據(jù)庫(kù)默認(rèn)使用sqlite,設(shè)置項(xiàng)目的模板以及靜態(tài)文件目錄。
| |+media/  #項(xiàng)目靜態(tài)文件(用戶上傳)
| |+static/  #項(xiàng)目靜態(tài)文件(css、js等)
| `+templates/  #項(xiàng)目模板
|+tools/  #一些項(xiàng)目依賴的第三方工具包。如python虛擬環(huán)境初始化腳本等。
`~wsgi/  #項(xiàng)目部署用的wsgi文件
 `-dj_scaffold.wsgi

lbstartapp

lbstartapp作為django的擴(kuò)展命令提供。將dj_scaffold加到INSTALLED_APPS后即可使用該命令。該命令將生成一個(gè)標(biāo)準(zhǔn)的app,相比django自帶的startapp,lbstartapp將那些不太常用的app默認(rèn)目錄也都給生成了出來(lái)。對(duì)應(yīng)目錄結(jié)構(gòu)如下:

|+management/  #命令目錄 
|+static/  #靜態(tài)文件目錄 
|+templates/  #模板目錄 
|+templatetags/  #tag目錄 
|-__init__.py 
|-admin.py  #admin管理后臺(tái)的models配置文件 
|-forms.py 
|-models.py 
|-settings.py  #app自己的settings文件 
|-tests.py 
|-urls.py  #urls配置文件 
`-views.py

以上是關(guān)于Django中dj-scaffold的案例分析的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(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)容。

fo dj
AI