django中的靜態文件管理


  一個站點通常需要保存額外的文件,比如圖片   css樣式文件   js腳本文件 ,在django中,傾向於將這些文件稱為 靜態文件。django提供了django.contrib.staticfiles 模塊來幫助我們方便的管理靜態文件。

 

配置靜態文件的兩種方式:

  1  配置單獨app下的靜態文件,比如某個app下的單獨的圖片。

  2  配置整個project下的靜態文件,適用於那些和單獨app關聯不大的文件,比如jquery  bootstrap  等等

配置步驟:

1  首先,我們需要確認在settings.py文件中的INSTALLED_APPS變量中存在 django.contrib.staticfiles

1 INSTALLED_APPS = (
2     'django.contrib.admin',
3     'django.contrib.auth',
4     'django.contrib.contenttypes',
5     'django.contrib.sessions',
6     'django.contrib.messages',
7     'django.contrib.staticfiles', 
8 )

 

2.1 如果我們要配置單獨app下的靜態文件的話,執行此步驟。

  在settings.py文件中定義 STATIC_URL 變量。 

1 STATIC_URL = '/static/'

2.2  如果我們要配置整個project下的靜態文件的話,執行此步驟。

  在settings.py文件中定義 STATICFILES_DIRS 變量

1 STATICFILES_DIRS = (
2     os.path.join(BASE_DIR, "static"), # 首選project靜態文件搜尋路徑
3     '/var/www/static/',   # 第二選project靜態文件搜尋路徑,還可以有第三選,第四選……
4 )

 

3.1  如果我們要配置單獨app下的靜態文件的話,執行此步驟。

  這時,我們需要在app中建立一個名為static 的文件夾。

 

3.2  如果我們要配置整個project下的靜態文件的話,執行此步驟。

  我們需要在整個project 中建立一個 名為static的文件夾 

 

4  當我們在模板中無論是使用硬鏈接 /static/myexample.jpg 還是使用 static 標簽  <img src="{% static "myexample.jpg" %}" />  都會先訪問app下的static/文件夾下的myexample.jpg 文件,若app下的static文件夾中沒有該文件,則訪問project中的static/文件夾,查看是否有myexample.jpg文件,若有則返回,若沒有則去/var/www/static/中尋找。

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM