django 静态文件的配置涉及到settings 中的三个配置项STATIC_URL、STATICFILES_DIRS及STATIC_ROOT
1. 开发服务器中静态文件的配置及应用
(1)STATIC_URL
配置:默认情况下 settings 配置 STATIC_URL = '/static/'
应用:在 app 目录下创建 static 文件夹,将 style.css 放入,然后在模板中可通过路径/static/style.css 访问
(2)STATICFILES_DIRS
配置:STATICFILES_DIRS = (
os.path.join(BASE_DIR, "common_static"),
)
应用:在project 目录创建 common_static 文件夹,将 style.css 放入,然后在模板中同样通过路径"/static/style.css"访问,或者在模板头部加上{%load staticfiles%}引入标签库,然后用"{% static "style.css " %}"访问。
说明:逻辑上来说上述两种路径中的静态文件都位于 static 文件夹中,所以都需要通过/static路径来访问;STATICFILES_DIRS所配置的静态文件目录通常用于存放多个 app 共用的静态文件。
2. 部署服务器中静态文件的配置及应用
配置:STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')
应用:在 project 目录中创建collected_static文件夹;
运行 manage.py collectstatic,即可将所有静态文件(包括STATIC_URL 及STATICFILES_DIRS)集中至collected_static;
(1)使用 nginx的配置
location /static {
alias /os/path/to/project/collected_static;
}
uwsgi --http :8000 --module project_name.wsgi --static-map /static=/os/path/to/collected_static