這篇文章主要介紹了簡單介紹Python的Django框架的dj-scaffold項目,用於輔助Django框架的目錄設置,需要的朋友可以參考下
由於Django沒有象rails一樣指定項目的目錄結構規范,很多人都對django項目的目錄結構要如何組織而感到困惑。為此我又新創建了一個開源項目dj-scaffold(django的腳手架)。這個項目用於自動生成一個標注化的django項目和app。
項目地址:https://github.com/vicalloy/dj-scaffold
安裝
已經發布到了pypi,所以你可以用pip或easy_install 來進行安裝。
?
1 2 pip install dj-scaffold easy_install dj-scaffold使用
dj-scaffold主要提供了兩個命令,dj-scaffold.py和lbstartapp。
dj-scaffold.py
該腳本用於取代django的startproject命令。使用方式如下:
?
1 dj-scaffold.py projectname在該命令執行後,將創建項目projectname。在項目的scripts目錄中提供了腳本create_env.py和env.rc。
create_env.py 執行該腳本將自動初始化python虛擬環境。新生成的python虛擬環境在env目錄。
env.rc 該腳本用戶啟動python虛擬環境(source env.rc)。該腳本同時為python manage.py設置了快捷方式$mg。你可以在任何目錄調用$mg來執行django命令。比如你用$mg runserver來啟動測試服務器。
項目對應的目錄結構如下:
注:文件太多,去掉了部分不重要的文件
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 dj-scaffold.py projectname |+docs/ #用於存放項目的相關文檔 |+env/ #python虛擬環境,由腳本自動生成 |~requirements/ #第三方依賴包的存放位置 | `-requirements.pip #pip的依賴說明文件 |~scripts/ #系統相關的腳本 | |-create_env.py #創建python虛擬環境(env目錄) | `-env.rc #進入python虛擬環境。同時提供python manger.py的快捷方式$mg。可在任意目錄使用$mg。 |~sites/ #Django的項目文件。在settings文件中增加了部分默認配置。如數據庫默認使用sqlite,設置項目的模板以及靜態文件目錄。 | |+media/ #項目靜態文件(用戶上傳) | |+static/ #項目靜態文件(css、js等) | `+templates/ #項目模板 |+tools/ #一些項目依賴的第三方工具包。如python虛擬環境初始化腳本等。 `~wsgi/ #項目部署用的wsgi文件 `-dj_scaffold.wsgilbstartapp
lbstartapp作為django的擴展命令提供。將dj_scaffold加到INSTALLED_APPS後即可使用該命令。該命令將生成一個標准的app,相比django自帶的startapp,lbstartapp將那些不太常用的app默認目錄也都給生成了出來。對應目錄結構如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 |+management/ #命令目錄 |+static/ #靜態文件目錄 |+templates/ #模板目錄 |+templatetags/ #tag目錄 |-__init__.py |-admin.py #admin管理後台的models配置文件 |-forms.py |-models.py |-settings.py #app自己的settings文件 |-tests.py |-urls.py #urls配置文件 `-views.py