Django1.4和1.3的靜態檔案路徑配置

pythontab發表於2012-12-25
django中對路由配置(靜態檔案路徑的配置),要修改的有兩個檔案:
一般我們會把所有的靜態檔案放到一個資料夾中,所以現在我們要在專案目錄下新建一個static目錄,然後將網站需要用到的靜態檔案:CSS、圖片、JS等全部放在static目錄下。

注意:Django1.4和1.3的配置方法小有不同

Django1.4中靜態檔案路徑配置

1,urls.py中新增:


url(r'^static/(?P<path>.*)$', 'django.views.static.serve'),
這裡使用django自帶的靜態檔案伺服器來處理,部署到生產環境後就不需要了。
2,settings.py

ROOT_PATH = os.path.normpath(os.path.dirname(__file__)).replace('\\','/')
STATIC_URL = '/static/'
TEMPLATE_DIRS = (
   os.path.join(ROOT_PATH,'../templates')
)


下面再來說一下Django1.3的靜態檔案路徑配置:

1、設定靜態檔案路徑

我們要在settings.py檔案中設定一個靜態檔案路徑STATIC_PATH,即我們剛才存放靜態檔案的那個目錄。為避免把路徑寫死,我們可以使用OS模組中的一些方法來把絕對路徑轉換一下,在settings.py檔案中新增如下程式碼:

import os
your_path=lambda *x: os.path.join(os.path.abspath(os.path.dirname(__file__)),*x)
STATIC_PATH=your_path('static')
這個STATIC_PATH我們要在配置urls的時候用到。

2、配置靜態檔案urls

在urls.py檔案中我們新增如下程式碼:

from django.conf import settings
url(r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root':settings.STATIC_PATH},name="media")

當然urlconf中的那個“static”我們可以使用其他的名字,按照慣例我們一般使用“static”



最後要注意一點:一切都配置好了,現在如果我們要在模板檔案中使用靜態檔案,我們可以正常呼叫了。需要注意路徑的開頭都要加上“/”

相關文章