由于Django沒有象rails一樣指定項(xiàng)目的目錄結(jié)構(gòu)規(guī)范,很多人都對(duì)django項(xiàng)目的目錄結(jié)構(gòu)要如何組織而感到困惑。為此我又新創(chuàng)建了一個(gè)開源項(xiàng)目dj-scaffold(django的腳手架)。這個(gè)項(xiàng)目用于自動(dòng)生成一個(gè)標(biāo)注化的django項(xiàng)目和app。
項(xiàng)目地址:https://github.com/vicalloy/dj-scaffold
安裝
已經(jīng)發(fā)布到了pypi,所以你可以用pip或easy_install 來進(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。
項(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的依賴說明文件|~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ù)庫默認(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)目錄也都給生成了出來。對(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
新聞熱點(diǎn)
疑難解答
圖片精選