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. #可以传多个参数
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来找到别名,通过别名映射路径的方式来获取静态文件
{% 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>
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!" />