由于Django沒有象rails一樣指定項目的目錄結構規范,很多人都對django項目的目錄結構要如何組織而感到困惑。為此我又新創建了一個開源項目dj-scaffold(django的腳手架)。這個項目用于自動生成一個標注化的django項目和app。
項目地址:https://github.com/vicalloy/dj-scaffold
安裝
已經發布到了pypi,所以你可以用pip或easy_install 來進行安裝。
pip install dj-scaffold easy_install dj-scaffold
使用
dj-scaffold主要提供了兩個命令,dj-scaffold.py和lbstartapp。
dj-scaffold.py
該腳本用于取代django的startproject命令。使用方式如下:
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來啟動測試服務器。
項目對應的目錄結構如下:
注:文件太多,去掉了部分不重要的文件
?
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.wsgi
?
lbstartapp
lbstartapp作為django的擴展命令提供。將dj_scaffold加到INSTALLED_APPS后即可使用該命令。該命令將生成一個標準的app,相比django自帶的startapp,lbstartapp將那些不太常用的app默認目錄也都給生成了出來。對應目錄結構如下:
|+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
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
