Python中Django架構下的staticfiles使用簡介

來源:互聯網
上載者:User
django1.3新加入了一個靜態資源管理的app,django.contrib.staticfiles。在以往的django版本中,靜態資源的管理一向都是個問題。部分app發布的時候會帶上靜態資源檔案,在部署的時候你必須手動從各個app中將這些靜態資源檔案複製到同一個static目錄。在引入staticfiles後,你只需要執行./manage.py collectstatic就可以很方便的將所用到app中的靜態資源複製到同一目錄。

staticfiles的引入,方便了django靜態檔案的管理,不過感覺staticfiles的文檔寫的並不是太清楚,初次使用的時候還是讓我有些困惑。

下面簡單的介紹一下staticfiles的主要配置:

  • STATIC_ROOT:運行manage.py collectstatic後靜態檔案將複製到的目錄。注意:不要把你項目的靜態檔案放到這個目錄。這個目錄只有在運行collectstatic時才會用到。我最開始想當然的以為這個目錄和MEDIA_ROOT的作用是相同的,致使在開發環境下一直無法找到靜態檔案。
  • STATIC_URL:設定的static file的起始url,這個只可以在template裡面引用到。這個參數和MEDIA_URL的含義差不多。
  • STATICFILES_DIRS:除了各個app的static目錄以外還需要管理的靜態檔案位置,比如項目公用的靜態檔案差不多。和TEMPLATE_DIRS的含義差不多。
  • 各個APP下static/目錄下的靜態檔案django的程式開發伺服器會自動找到,這點和以前APP下的templates目錄差不多。
  • 在urls.py中加入靜態檔案處理的代碼
  from django.contrib.staticfiles.urls import staticfiles_urlpatterns  # ... the rest of your URLconf goes here ...  urlpatterns += staticfiles_urlpatterns()
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.