標籤:步驟 img 沒有 檔案管理 admin 指令碼 types str os.path
一個網站通常需要儲存額外的檔案,比片 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/中尋找。
django中的靜態檔案管理