django 自定义模板 v## 静态文件配置

自定标签和过滤器

 1 自定义过滤器
 2 
 3 1. app应用文件夹中创建一个templatetags文件件,必须是这个名字
 4 2. templatetags文件夹中创建一个 xx.py文件,文件名字随便起
 5 
 6 3. 创建自定义过滤器
 7     from django import template
 8 
 9     register = template.Library()  #register固定的名字,注册器
10 
11     # @register.filter
12     # def oo(v1,v2):  #不带参数的过滤器
13     #     s = v1 + 'xxoo'
14 
15     #     return s
16 
17     @register.filter
18     def oo(v1,v2):  #带参数的过滤器
19         s = v1 + v2
20         return s
21     
22 4. 使用  html文件中  {% load 文件名 %} 
23     {% load xx %}
24     {{ values|oo }} -- 无参数
25     {{ values|oo:'asdf' }} -- 有参数
26 
27 5. 注意:参数最多两个
28 
29 
30 自定义标签
31 1. app应用文件夹中创建一个templatetags文件件,必须是这个名字
32 2. templatetags文件夹中创建一个 xx.py文件,文件名字随便起
33 3. 创建自定义标签
34     @register.simple_tag
35     def mytag(v1,v2,v3):  
36         s = v1 + '和B哥' + v2 + v3
37         return s
38 
39 4.使用
40     {% load xx %}
41     {% mytag s1 '和相玺' '和大壮' %}  
42 5. #可以传多个参数

静态文件配置

js、css、img等都叫做静态文件,那么关于django中静态文件的配置,我们就需要在settings配置文件里面写上这写内容:

 

1 1 在项目中创建一个文件夹,比如叫jingtaiwenjian
2 
3 # STATIC_URL = '/xxx/' #别名,随便写名字,但是如果你改名字,别忘了前面页面里面如果你是通过/xxx/bootstrap.css的时候,如果这里的别名你改成了/static/的话,你前端页面的路径要改成/static/bootstrap.css。所以我们都是用下面的load static的方式来使用静态文件路径
4 2 STATIC_URL = '/static/' #别名
5 
6 3 STATICFILES_DIRS = [
7     os.path.join(BASE_DIR,'jingtaiwenjian'), #注意别忘了写逗号,第二个参数就是项目中你存放静态文件的文件夹名称
8 ]

目录:别名也是一种安全机制,浏览器上通过调试台你能够看到的是别名的名字,这样别人就不能知道你静态文件夹的名字了,不然别人就能通过这个文件夹路径进行攻击。

前端页面引入静态文件的写法,因为别名也可能会修改,所以使用路径的时候通过load static来找到别名,通过别名映射路径的方式来获取静态文件

{% static %}

{% load static %}
<img src="{% static "images/hi.jpg" %}" alt="Hi!" />
{% load static %}
<script src="{% static "mytest.js" %}"></script>
{% load static %}
{% static "images/hi.jpg" as myphoto %}
<img src="{{ myphoto }}"></img>

{% get_static_prefix %}

1 {% load static %}
2 <img src="{% get_static_prefix %}images/hi.jpg" alt="Hi!" />
3 {% load static %}
4 {% get_static_prefix as STATIC_PREFIX %}
5 
6 <img src="{{ STATIC_PREFIX }}images/hi.jpg" alt="Hi!" />
7 <img src="{{ STATIC_PREFIX }}images/hi2.jpg" alt="Hello!" />

 

posted @ 2020-06-08 22:00  竹石2020  阅读(446)  评论(0编辑  收藏  举报