Django中,靜態(tài)資源的存放通過設(shè)置 STATIC_URL, STATICFILES_DIRS 來設(shè)置
一般STATIC_URL設(shè)置為:/static/
STATIC_URL='/static/',
這個static 是在Django 具體APP下建立的static目錄,用來存放靜態(tài)資源。
而STATICFILES_DIRS一般用來設(shè)置通用的靜態(tài)資源,對應(yīng)的目錄不放在APP下,而是放在Project下,例如:
STATICFILES_DIRS=(os.path.join(BASE_DIR, "common_static"),)
具體在模板文件中訪問的時候,都是統(tǒng)一用:/static/資源名的方式,就可以訪問到資源,不論具體的目錄是APP下的static,還是project下的common_static, 都可以用/static/資源名的方式訪問到。
為增強可移植性,在模板中可以用:STATIC_URL來代替具體的/static/來設(shè)置資源路徑,但是需要在settings.py中2個地方進(jìn)行設(shè)置,否則會發(fā)生取不到資源的錯誤:
1. INSTALLED_APPS 中,加入 'django.contrib.staticfiles'
2. TEMPLATES 中,context_processors中,加入django.template.context_processors.static
模板中調(diào)用時:
<img src="{{STATIC_URL}}pic.jpg " />