1. 静态文件
# 项目中css、图片、js都是静态文件;
1.1 配置静态文件
1.1.1 setting.py
# 网址上显示的路径; # STATIC_URL = ‘/static/‘ # 物理路径的配置; # STATICFILES_DIRS = [ # os.path.join(BASE_DIR, ‘static‘), # ]
1.1.2 项目根目录下创建static目录,细分应用,再创建应用目录
# mysite/static/myapp/
1.1.3 再模板中使用硬编码
# /static/my_app/myexample.jpg
1.1.4 在模板中使用static编码
# { % load static from staticfiles %} # <img src="{ % static "my_app/myexample.jpg" %}" alt="My image"/>
1.2 实例
1.2.1 setttings.py中配置
# 默认:STATIC_URL = /static/‘‘ # 添加:STATICFILES_DIRS = [ # os.path.join(BASE_DIR, ‘static‘) # ]
1.2.2 在项目目录下添加文件static,里面再创建针对项目的文件目录booktest,放置静态文件;
1.2.3 在要展示的页面添加图片路径(index.html)
<body> <h1>首页</h1> <!-- 静态文件展示 --> <img src="/static/booktest/a1.jpg"/> </body>
1.2.4 访问页面展示静态文件
1.3 动态生成地址
# 与上面不同的是,这种方式是直接访问逻辑路径,STATIC_URL = ‘/static/‘没用
1.3.1 动态生成图片路径(index.html)
# {% load static from staticfiles %} # <!DOCTYPE html> # <html> # <head> # <title>首页</title> # </head> # <body> # <h1>首页</h1> # <!-- 1.静态文件展示 --> # <img src="/abc/booktest/a1.jpg"/> # <br> # <!-- 2.动态生成路径,访问静态文件 --> # <img src="{% static ‘/booktest/a1.jpg‘%}"/> # </body> # </html>
1.3.2 原理
# # 在1.中静态文件路径发生了改变,与setting.py匹配的逻辑路径不同,无法读取文件; # # 在2.中对应settings.py中匹配的物理路径,始终可以匹配文件;
原文地址:http://13269293.blog.51cto.com/13259293/1971818