静态文件 | Django开发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态文件 | Django开发相关的知识,希望对你有一定的参考价值。
# 项目中css、图片、js都是静态文件;
-- 配置静态文件
-- setting.py
# 网址上显示的路径; STATIC_URL = ‘/static/‘ # 物理路径的配置; STATICFILES_DIRS = [ os.path.join(BASE_DIR, ‘static‘), ]
-- 项目根目录下创建static目录,细分应用,再创建应用目录
mysite/static/myapp/
-- 在模板中使用硬编码
/static/my_app/myexample.jpg
-- 在模板中使用static编码
{ % load static from staticfiles %} <img src="{ % static "my_app/myexample.jpg" %}" alt="My image"/>
-- 附:访问静态文件的逻辑路径与物理路径;
# 在Django中,先匹配这个逻辑路径,在去后面的物理路径寻找静态资源; # 可以起到一个隐藏文件的作用,你页面看到的路径并不是静态文件存放的真正路径; STATIC_URL = ‘/static/‘ STATICFILES_DIRS = [ os.path.join(BASE_DIR, ‘static‘), ]
-- 实例
-- setttings.py中配置
默认:STATIC_URL = ‘/static/‘ 添加:STATICFILES_DIRS = [ os.path.join(BASE_DIR, ‘static‘) ]
-- 在项目目录下添加文件static,里面再创建针对项目的文件目录booktest,放置静态文件;
-- 在要展示的页面添加图片路径(index.html)
<body> <h1>首页</h1> <!-- 静态文件展示 --> <img src="/static/booktest/a1.jpg"/> </body>
-- 访问页面展示静态文件
-- 动态生成地址(与上面不同的是,这种方式是直接访问物理路径,STATIC_URL = ‘/static/‘没用)
-- 动态生成图片路径(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.中静态文件路径发生了改变,与setting.py匹配的逻辑路径不同,无法读取文件; # 在2.中对应settings.py中匹配的物理路径,始终可以匹配文件;
以上是关于静态文件 | Django开发的主要内容,如果未能解决你的问题,请参考以下文章