一、静态文件
1.1静态文件的使用
在网页使用的css文件,js文件和图片叫做静态文件
1)新建静态文件夹static
2)配置静态文件所在的物理目录。setting.py
# 设置访问静态文件对应的url地址
STATIC_URL = '/static/'
#STATIC_URL = '/abc/'
# 设置静态文件的存放路径
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
]
1.2加载目录
首先会在配置的目录下找,然后在应用的目录下找,可以在下面两个图中看出他们的加载顺序:(模板文件找不到时会出现报错,ps:第二张图显示)
1.2.1动态获取静态文件夹路由
当静态文件夹的路径更改以后,要是模板文件中静态文件是直接写出来的话,当静态文件url更改时,会有找不到的情况,所以要动态的获取。
动态获取静态文件的url步骤:
1:在模板文件中使用{% load static %}标签在模板中导入文件夹的url
2:用标签变量来拼接静态文件的路径{% static 文件名 %}
1.2.2动态获取静态文件路由实例
以图片为例:
setting.py文件中静态路由的配置
# 设置访问静态文件对应的url地址
# STATIC_URL = '/static/' #1
STATIC_URL = '/abc/' #2
# 设置静态文件的存放路径
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static'),
]
html文件:
<!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
<meta charset="UTF-8">
<title>静态文件</title>
</head>
<body>
直接获取静态文件夹的url(如果静态文件夹的url改变回出现错误)<br/>
<img src="/static/images/a.jpg"><br/>
<img src="/abc/images/a.jpg"><br/>
动态或去静态文件夹的url<br/>
<img src="{% static 'images/a.jpg' %}"><br/>
</body>
</html>
views.py文件
def static_test(request):
"""静态文件的显示"""
return render(request, 'booktest/static_test.html')
显示的结果为:
1.在模板文件中直接用 src=‘’直接写模板路径‘’ 这种方式拼写的路径当setting.py文件中的STATIC_URL路径不匹配时会出现找不到这个文件
2.而动态获