django的模板语言-创新互联

模板可以分为下面几类

- 母版
- 函数->>自动执行(这里自动执行是不能给参数的)
- 模板自定义函数:
        * simple_filter
        这个simple_filter就是html里面的{{name|upper}}中的upper,这个内置函数就是一个simple_filter
自定义simple_tag

参考:https://docs.djangoproject.com/en/1.10/ref/templates/language/
http://www.cnblogs.com/wupeiqi/articles/5237704.html
1、要在任意的一个app下面创建名字必须为templatetags的目录,如下图
django的模板语言
2、在这个templatetags目录下面创建任意一个名字的py文件,如下图
django的模板语言
3,在模板使用的时候需要导入
django的模板语言
4、这个app必须要在setting里面做了配置,否则不能使用自定义的
django的模板语言
5,多个参数的传参
给xxx.py文件修改,可以获取多个参数

目前累计服务客户千余家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供网站制作、网站建设、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联建站始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。

django的模板语言
这个时候如果,前端引用的时候还是name|my_upper,没有给传参数就会报错,如下
django的模板语言
所以我们可以在应用的时候传递第二个参数

{{ name|my_upper:"89989898"}}

这样得到的结果,后面是有值的,如下图
django的模板语言

filter 这只能传递一个参数,既my_upper:"89989898"中的my_upper后面不能有空格,直接加一个字符串,要想多个,就用逗号分隔,写成多个my_upper:"89,98,98,98"
这里的filter,可以作为if 判断语句的条件,而下面的tag就是不可以的

tag方法

django的模板语言
django的模板语言

模板的语言

{{ item }}
{% for item in item_list %}  {{ item }}  {% endfor %}
  forloop.counter
  forloop.first
  forloop.last 
{% if ordered_warranty %}  {% else %} {% endif %}
母板:{% block title %}{% endblock %}
子板:{% extends "base.html" %}
   {% block title %}{% endblock %}
帮助方法:
{{ item.event_start|date:"Y-m-d H:i:s"}}
{{ bio|truncatewords:"30" }}
{{ my_list|first|upper }}
{{ name|lower }}

公共的组件include方法

django的模板语言

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:django的模板语言-创新互联
当前网址:http://scyanting.com/article/djiidp.html