静态文件 | 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开发的主要内容,如果未能解决你的问题,请参考以下文章

django中怎么载入css等静态文件

django中怎么载入css等静态文件

在 django 开发中加载静态文件时出现 404 错误

Django基于Pycharm开发之四[关于静态文件的使用,配置以及源码分析](原创)

Django static静态配置文件

静态文件 | Django开发