码迷,mamicode.com
首页 > 其他好文 > 详细

Django 学习第四天——Django 模板标签

时间:2019-03-07 23:15:48      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:关闭自动   并且   ndt   常用   block   元素   extends   mil   标签   

一、模板标签:

  作用:标签在渲染的过程中提供任意的逻辑;例如 if for...in... 等

  标签语法:由 {% %} 来定义的;例如:{% tag %}xxx{% endtag %}

  常用标签:

  if 标签:

    可以使用 and or in not == != <= >= 来进行判断

    {% if a == "xx" %} # == 号两边必须要有空格 判断成立执行的语句 {% elif a == "zz" %} 判断成立执行的语句 {% else %} 执行的语句 {% endif %}

 

   for...in...标签:

    跟 python 中的 for...in... 是一样的用法

    forloop.counter:当前迭代的次数,下标从 1 开始;

    forloop.counter0:当前迭代的次数,下标从 0 开始;

    forloop.revcounter:当前迭代次数倒序,从最大到 1 ;

    forloop.revcounter0:当前迭代次数倒序,从最大到 0;

{% for i in ls %} 
{{ i }}
 {% endfor %}

 

  url 页面转换:

    返回一个命名了的 url 的绝对路径;

 技术图片

技术图片

 

  with 的使用:

    缓存一个变量:

{% with test_name as tn %} 
    {{ tn }}在这里面就可以直接用 tn 代替 test_name了 
{% endwith %}

 

  autoescape 的使用:

    开启和关闭自动转义

 技术图片

 技术图片

 

二、模板的继承与引用:

  继承:

    模板继承可以让你创建一个基本的 “骨架” 模板,它包含了你站点中的全部元素,并且可以定义能够被子模板覆盖的 block;

    新建一个模板继承页,这个一般用 base.html 命名

 

    在要继承的 html 文件的最开始写

{% extends ‘base.html‘ %} # templates 文件夹里 base.html 文件的相对路径

 

  base.html:

 技术图片

  index.html

 技术图片

 

 

    总结:

      模板继承使 extends 标签实现;通过使用 block 来给子模板开放接口;

      extends 必须是模板中的第一个出现的标签;

      子模版中的所有内容,必须出现在父模板定义好的 block 中,否则 django 将不会渲染;

      如果出现重复代码,就因该考虑使用模板;

      尽可能多的定义 block ,方便子模版实现更细的需求;

      如果在某个 block 中,要使用父模板的内容,使用 block.super 获取。

 

引用:

{% include ‘要引用的文件‘ %}

  当前模板可以直接使用别的渲染好的模板

 

Django 学习第四天——Django 模板标签

标签:关闭自动   并且   ndt   常用   block   元素   extends   mil   标签   

原文地址:https://www.cnblogs.com/2018-8-31/p/10493252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!