对静态文件的渲染本质就是添加css,js,image
在配置文件setting.py中包含如下:
在官网中找到相应的内容:
然后,按照官网中的要求去写:
STATIC_URL = '/static/' #url
STATICFILES_DIRS = [ #路径
os.path.join(BASE_DIR, "static"),
]
注意:这个配置文件路径有个特别坑的地方
- 如果你本身的文件夹名称为static,然后你更改为mystatic。 相应的你肯定会把,HTML文件中的路径中的static
- 改为mystatic和STATICFILES_DIRS中的static 改为mystatic
- 然后你会想通过,例如www.baidu.com/mystatic/css.index.html去访问这个css和js文件
这种方式是错误的!!!!
这个配置的本质是:
STATIC_URL = ‘/static/’ 等价于
当url中出现/static就到STATICFILES_DIRS指定的路径下查找到相应的静态文件
所以上述改完之后,应该通过www.baidu.com/static/css/index.html去访问
路径中有static,才会向下找mystatic(有了STATIC_URL中的路径,才会去找STATIC_DIRS中的路径)
其中一种执行情况如下,便于理解:
- css文件和js文件是放在static文件夹下的
- 如果路径中有mystatic文件则去访问static文件夹
- 路径写的mystatic
- url为文件的url地址,路径为放置的路径
如果感觉很奇怪,就ctrl + shift + delete 清楚浏览数据(chrome),在进行尝试
#模板使用静态文件,css,js,image
{%load static %}
<img src='{% static 'xxx/xx.jpg'%}'/> #图片
<script src='{% static 'xxx/xx.js'%}'></script> #js
<link href=''{% static 'xxx/xx.css'%} / > #css