Django之静态文件配置
js、css、img等都叫做静态文件,那么关于django中静态文件的配置,我们就需要在settings配置文件里面写上这写内容:
STATIC_URL = '/static/' #别名(可以任意):指向下边拼接的路径
STATICFILES_DIRS=[
os.path.join(BASE_DIR, "static_files"),#文件夹位置可不固定,但拼接时注意路径
]
别名也是一种安全机制,浏览器上通过调试台你能够看到的是别名的名字,这样别人就不能知道你静态文件夹的名字了,不然别人就能通过这个文件夹路径进行攻击。
前端页面引入静态文件的写法,因为别名也可能会修改,所以使用路径的时候通过{% load static %}来找到别名,通过别名映射路径的方式来获取静态文件。
静态文件配置:
static_file.html
1 {% load static %} 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <meta charset="UTF-8"> 6 {# <link rel="stylesheet" href="../app01/static_files/css/01.css">#} 7 <link rel="stylesheet" href="{% static 'css/01.css' %}"> 8 <title>静态文件页面</title> 9 </head> 10 <body> 11 <div> 12 <div class="c1">123</div> 13 {# <img src="../app01/static_files/imgs/1.png" alt="">#} 14 <img src="{% static "imgs/1.png" %}" alt=""> 15 </div> 16 </body> 17 {#<script src="../app01/static_files/js/01.js"></script>#} 18 <script src="{% static "js/01.js" %}"></script> 19 </html>
其它操作:
{% static %}
{% load static %}
<img src="{% static "images/hi.jpg" %}" alt="Hi!" />
引用JS文件时使用:
{% load static %}
<script src="{% static "mytest.js" %}"></script>
某个文件多处被用到可以存为一个变量
{% load static %}
{% static "images/hi.jpg" as myphoto %}
<img src="{{ myphoto }}"></img>
{% get_static_prefix %}
{% load static %}
<img src="{% get_static_prefix %}images/hi.jpg" alt="Hi!" />
或者
{% load static %}
{% get_static_prefix as STATIC_PREFIX %}
<img src="{{ STATIC_PREFIX }}images/hi.jpg" alt="Hi!" />
<img src="{{ STATIC_PREFIX }}images/hi2.jpg" alt="Hello!" />