tags

for

<ul>
{% for user in user_list %}
<li>{{ user.name }}</li>
{% endfor %} #结束
</ul>

for...empty

<ul>
{% for user in user_list %}
<li>{{ user.name }}</li>
{% empty %}
<li>空空如也</li>
{% endfor %}
</ul>

if,elif 和else

{% if user_list %}
用户人数:{{ user_list|length }}
{% elif black_list %}
黑名单数:{{ black_list|length }}
{% else %}
没有用户
{% endif %}

也可以有if 和 else

{% if user_list|length >  %}
七座豪华SUV
{% else %}
黄包车
{% endif %}

if语句支持  and、or、 ==、>、<、!=、<=、>=、in、not in、is、is not判断.

母版和继承

1.母版

  就是一个普通的HTML文件,提取多个页面的公共部分减少代码量  修改十分方便

  [注:除了公共部分,母版对应子页面需要更改的地方用{% block page-main%}内容{%endvlock}

      ]

2.继承(使用)

   在子页面中

      {% entends "base.html"%}

      {% block page-mian%}

        修改内容

      {%endblock%}

    

    注意:还会有个小问题,

      就是边侧那里, 按钮是死的,这就需要,在html 按钮输入那里,  class = {% block pub_active%}active{%endblock%}

      子页面也需要加上

3.注意事项:
    1.把{% extends 'base.html'%}
    2.修改的内容写在block中,写在外面不显示
    3.{% extends name%} name应该是变量或者是字符串 继承母版的名字
    4.母版中定义多个block块, 一般还有 js 块和css块

4.组件
    1.就是一小段HTML代码 多个页面都用到的内容 nav.html
    2.在任意的模版中使用
    {% include "nav.html" %}

5.静态文件相关
    1.{% load staticfiles %}
    2.{% static 'css文件路径' %}
      还有第二种方法: {%get_static_prefix%}~~~文件路径

      

6. 静态文件相关
    {% load static %}
    
    {% static 'css/pub.css' %} —— 》 去settings拿STATIC_URL,和css/pub.css拼接
    —— 》 /static/css/pub.css

    {% get_static_prefix %} —— 》 去settings拿STATIC_URL
      {% 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!" />

      

    {% get_static_prefix %}css/pub.css

7. 自定义simple_tag和inclusion_tag

    1. 在app下创建templatetags的python包
    2. 在templatetags创建py文件 ——》 mytags.py
    3. 在mytags写代码
      from django import template
      register = template.Library()

      @register.filter(name='dsb')
      def add_sb(value,arg):
      return ....

      @register.simple_tag
      def add_sb(arg1,arg2,*args,**kwargs):
      return ....

      @register.inclusion_tag('show_li.html')
      def show_li(n):
      return {'num': range(1, n + 1)}
8. 在模板中使用
      {% load mytags %}

      {{ 变量|dsb:'canshu' }}

      {% add_sb '' '' %}

      {% show_li 5 %}

最新文章

  1. codeforces 557B. Pasha and Tea 解题报告
  2. Python namedtuple
  3. Windows 下字节转换
  4. Android快捷键
  5. hdu 1754 I Hate It (splay tree伸展树)
  6. Java基础知识强化之集合框架笔记12:Collection集合存储字符串并遍历
  7. Android App开发常用专题开源代码
  8. Guava API
  9. PullToRefreshListView上拉加载、下拉刷新
  10. 优化C/C++代码的小技巧(转)
  11. 持续集成:TestNG组织如何测试用例 1
  12. app界面设计字体规范
  13. DotNetCore跨平台~发布脚本PowerShell的设计
  14. vuex 基本用法、兄弟组件通信,参数传递
  15. c# 文件笔记
  16. 【百度】大型网站的HTTPS实践(一)——HTTPS协议和原理
  17. 第一次ActiveX Fuzzing测试
  18. Python中的break和continue的使用方法
  19. JAVA基础学习之路(十一)引用传递
  20. jQuery图片垂直滚动焦点图

热门文章

  1. 3.1HashMap源码分析
  2. PowerDesigner设置一对一关系
  3. Linux centos 防火墙篇
  4. Kali Linux之常见后门工具介绍
  5. ELK平台搭建(上)
  6. python 的基础 学习 第三天 编码的初始
  7. FTP之二
  8. 2017 ACM/ICPC(北京)总结
  9. 20165237 预备作业3 Linux安装及学习
  10. dubbo学习笔记1