簡單介紹Python的Django架構的dj-scaffold項目

來源:互聯網
上載者:User
由於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 
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.