静态文件路径设置官方说明
1. Make sure that django.contrib.staticfiles is included in your INSTALLED_APPS.
2. In your settings file, define STATIC_URL, for example:
1
|
STATIC_URL
=
'/static/'
|
3. Store your static files in a folder called static in your app. For example my_app/static/my_app/myimage.jpg.
4. In your templates, either hardcode the url like /static/my_app/myexample.jpg or, preferably, use the static template tag to build the URL for the given relative path by using the configured STATICFILES_STORAGE storage (this makes it much easier when you want to switch to a content delivery network (CDN) for serving static files).
1
2
3
|
{
%
load staticfiles
%
}
<img src
=
"{% static "
my_app
/
myexample.jpg
" %}"
alt
=
"My image"
/
>
|
使用实例
在前面的例子中,我们使用了上面第三种设置方式,在app目录下,创建了static目录,里面还创建了名字跟app名称一样的目录,里面才放静态资源文件,路径如:
polls/static/polls/style.css,在template中引入时使用
1
2
3
|
{
%
load static
%
}
<link rel
=
"stylesheet"
type
=
"text/css"
href
=
"{% static 'polls/style.css' %}"
/
>
|
一、Django 项目默认读取静态文件目录如 /projectName/appName/static/
二、如果我们不想将静态文件放到app甚至project目录下时,可以在settings.py 中设置 STATICFILES_DIRS ,如:
1
2
3
4
5
|
STATICFILES_DIRS
=
(
'D://static/'
,
# os.path.join(BASE_DIR, "static"),
# '/var/www/static/',
)
|
接着前面的例子,此时创建 D://static/polls/style.css
1
2
3
4
5
6
7
|
li a {
color
:
red
;
}
body {
background
:
white
url
(
"images/background.jpg"
)
no-repeat
center
Top;
}
|
刷新页面 则可发现,链接中的文字颜色由原先的绿色变成了红色,说明页面引用的css路径生效