美文网首页
Django模板-模板语言

Django模板-模板语言

作者: IT的咸鱼 | 来源:发表于2018-08-14 20:21 被阅读0次

模板语言包括4种类型,分别是

模板变量      标签      过滤器      注释

                               模板变量

模板变量的作用是计算并输出,变量名必须由字母、数字、下划线(不能以下划线开头)和点组成。

语法如下:

{{变量}}

当模版引擎遇到点("."),会按照下列顺序查询:

        1:字典查询,例如:foo["bar"]

        2: 属性或方法查询,例如:foo.bar

        3:数字索引查询,例如:foo[bar]

如果变量不存在, 模版系统将插入'' (空字符串)

在模板中调用方法时不能传递参数

举例

1)打开booktest/views.py文件,创建视图temp_var。

def temp_var(request):

    dict={'title':'字典键值'}

    book=BookInfo()

    book.btitle='对象属性'

    context={'dict':dict,'book':book}

    return render(request,'booktest/temp_var.html',context)

2)打开booktest/urls.py文件,配置url。

url(r'^temp_var/$', views.temp_var),

3)修改在templates/booktest下创建temp_var.html。

调用:

{{dict.title}}
{{book.btitle}}

模板变量

4)运行服务器,在浏览器中输入如下网址。

http://127.0.0.1:8000/temp_var/

5)浏览效果如下图。

                              标签

语法如下:

{%代码段%}

for标签语法如下:

{%for item in 列表%}

循环逻辑

{{forloop.counter}}表示当前是第几次循环,从1开始

{%empty%}

列表为空或不存在时执行此逻辑

{%endfor%}

if标签语法如下:

{%if ...%}

逻辑1

{%elif ...%}

逻辑2

{%else%}

逻辑3

{%endif%}

比较运算符如下:

注意:运算符左右两侧不能紧挨变量或常量,必须有空格。

==(等等于)         !=(不等于)         <(小于)        >(大于)      <=(小于等于)       >=(大于等于)

布尔运算符如下:

and(并且)        or(或者)        not(满足条件的相反)

点击查看内建标签了解更多标签,还有一些常用的标签会在后续地章节中讲解

                              过滤器

语法如下:

使用管道符号|来应用过滤器,用于进行计算、转换操作,可以使用在变量、标签中。

如果过滤器需要参数,则使用冒号:传递参数。

语法:{ { 变量|过滤器 }},例如{ { name|lower }}     

变量|过滤器:参数

长度length,返回字符串包含字符的个数,或列表、元组、字典的元素个数。

默认值default,如果变量不存在时则返回默认值。

data|default:'默认值'

日期date,用于对日期类型的值进行字符串格式化,常用的格式化字符如下:

value|date:"Y年m月j日  H时i分s秒"

Y表示年,格式为4位,y表示两位的年。

m表示月,格式为01,02,12等。

d表示日, 格式为01,02等。

j表示日,格式为1,2等。

H表示时,24进制,h表示12进制的时。

i表示分,为0-59。

s表示秒,为0-59。

点击查看内建过滤器了解更多过滤器

                             注释

在模板中使用如下模板注释,这段代码不会被编译,不会输出到客户端;html注释只能注释html内容,不能注释模板语言。

1)单行注释语法如下:

{#...#}

注释可以包含任何模版代码,有效的或者无效的都可以。

{# { % if foo % }bar{ % else % } #}

2)多行注释使用comment标签,语法如下:

{%comment%}

...

{%endcomment%}

相关文章

  • Django之Template介绍及日常应用

    Django模板语言 Django模板是一个简单的文本文档,或用Django模板语言标记的一个Python字符串。...

  • 模板、csrf攻击解释、网址反转解析

    django中文3.0版本帮助文档 模板 1.模板语言 简称DTL(Django Template Languag...

  • 3.Django模板语言

    Django模板语言 常用语法变量相关的用{{ }}逻辑相关的用{% %} 变量在Django的模板语言使用变量的...

  • Django模板-模板语言

    模板语言包括4种类型,分别是 模板变量 标签 过滤器 注释 模板变量 模板变量的作用是计算并输出,变量名必须由字...

  • 2018-08-08 模板

    DTL文件 Django文件中的模板系统主要是DTL模板语言,比普通HTML功能更为强大。 模板查找路径配置 模板...

  • django4-Templates

    什么是Templates HTML文件 适用Django模板语言 Django Template Language...

  • Django_补充小技巧

    1.Templates过滤器 什么是过滤器? 写在模板中,属于Django模板语言 可以修改模板中的变量,...

  • Django模板语言

    知识点: 代码布局 编写自定义模板过滤器 简单标签 包含标签 分配标签 静态文件加载 为了解决应用中展示逻辑的需求...

  • Django 模板语言

    什么是模板 作为Web框架,Django提供了模板,用于编写html代码,还可以嵌入模板代码更快更方便的完成页面开...

  • Django模板语言

    官方文档 常用的语法 在DjangoHong Kong只需要记两种特殊符号: {{ }}:变量相关 {% %}: ...

网友评论

      本文标题:Django模板-模板语言

      本文链接:https://www.haomeiwen.com/subject/xdxbbftx.html