2014年3月4日 星期二

Django 中簡易配置static file (讓template 可以inclde javascript css image)

在 Django 中 開始一個project 後,到setting.py 中設定 STATIC_URL

# vim settings.py

import os
PROJECT_DIR = os.path.dirname(__file__)


STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    ("js", os.path.join(STATIC_ROOT,'js')),
    ("css", os.path.join(STATIC_ROOT,'css')),
    ("images", os.path.join(STATIC_ROOT,'images')),
)


以後在這project底下建立一個 static 資料夾,資料夾中包括 js 、css及images

將來將你的javascript檔置入js中,css檔置入css及圖檔置入images

以上的配置並不需要在urls.py 中多做設定

======================================

接下來只要在你的templates 中的html 宣告正確的js、css、images正確位置正常include。

在temlates 中使用javascript的宣告方式
<script type="text/javascript" src="{{STATIC_URL}}js/jquery.js"></script>

在temlates 中使用css的宣告方式
<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/style.css" media="screen" />
在temlates 中使用image的宣告方式
<img src="{{STATIC_URL}}images/me.jpg"" alt="img">


注意{{STATIC_URL}}就是取配置文件settings.py里的STATIC_URL变量,解析出来的就是:/static/。
而{{STATIC_URL}}css/style.css最终解析出来的就是我们想要的:/static/css/style.css,Django会根据配置文件找到相应的文件。

Reference:http://2goo.info/blog/panjj/Django/2012/11/18/544

沒有留言:

張貼留言