Django高级——静态文件

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 p_w_picpath"/>

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中匹配的物理路径,始终可以匹配文件;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章