静态文件
目录:
zbrblog #项目总目录
├── zbrblog #项目子目录
├── ...
└── static #静态文件目录
├── bloog #应用同名目录
│ ├── css #存放CSS文件
│ ├── js #存放js文件
│ ├── iamge #存放图片文件
│ └── ... #其它静态文件
└── ... #其它应用目录
在settings.py中:
STATIC_URL = ’/static/’ #配置用户访问静态文件的url路径
STATICFILES_DIRS = [ #配置后台查找静态文件的路径
os.path.join(BASE_DIR, ’static’),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')
#配置manage.py collectstatic时所有静态文件拷贝的存放路径,集中存放有利于服务器托管
Django会访问各应用目录下的static目录(默认)和STATICFILES_DIRS配置的目录(指定),来查找静态文件。Django的STATICFILES_FINDERS设置项中包含一个查找器列表,它们从各种源中找到静态文件,其中一个默认查找器AppDirectoriesFinder负责在每个INSTALLED_APPS下查找static目录。
跟模板文件类似,可以在static目录下新建一个应用同名目录存放应用的静态文件,避免名称冲突。
在模板中引用静态文件:
{% load staticfiles %}
{% static 'css/login.css' %}
{% static 'js/login.js' %}
{% static ‘images/logo.jpg’ %}
#该方法是Django提供的模板方法,用STATIC_URL配置的链接+后面字符串‘xxx’生成相对url路径//xxx,这样就可以设置所有静态文件的路径。