项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。在html页面中调用时,也需要指定静态文件的路径,Django中提供了一种解析的方式配置静态文件路径。静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。
为了提供静态文件,需要配置两个参数:
示例 1) 在项目根目录下创建static目录来保存静态文件。
2) 在bookmanager/settings.py中修改静态文件的两个参数为
#内部路径访问
STATIC_URL = '/static/'
#告诉静态资源在哪里STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
3)此时在static添加的任何静态文件都可以使用网址/static/文件在static中的路径来访问了。
例如,我们向static目录中添加一个index.html文件,在浏览器中就可以使用127.0.0.1:8000/static/index.html
来访问。
或者我们在static目录中添加了一个子目录和文件book/detail.html,在浏览器中就可以使用127.0.0.1:8000/static/book/detail.html
来访问。
在模板中使用load标签加载static标签 (static非django内置标签,故需用load标签加载),再将对应的src、href属性的值替换为static标签,static标签会在所有app下的static文件夹查找静态文件。 示例:
{% load static %}
<link rel="stystle" href="{% static 'style.css' %}">