Django学习记录6——Template模板的应用

目录

零之前言

一.变量

1.语法

2.使用普通变量

3.引入模型

二.标签

1.说明

2.for语法

3.if语法

4.url反向解析

三.过滤器

1.语法

2.过滤器大全

四.注释

1.语法

五.模板的继承

六.Html转义


零之前言

Django中,模板常见的四个用法是:{{ 变量 }}  {% 标签 %} {{ 变量 | 变量的过滤器 }} {# 注释 #}

一.变量

1.语法

变量的使用语法很简单,只需要在模板里写上我们的在Views里传入的变量名称,并用{{ }}括起来即可。例如:{{ 变量 }}

2.使用普通变量

在我们views里面将我们的变量打包后,即可直接在模板里调用我们的变量。

3.引入模型

我们可以在views创建实例化一个我们的模型,然后将我们的模型打包,并且像普通变量调用即可:

可以调用模型的属性,也可以调用模型的方法。

二.标签

1.说明

标签又相当于使用了部分python的代码段,但只限于部分,使其在模板里执行一部分逻辑语句。

2.for语法

{% for ... in ... %}
{{ forloop.counter }} 表示当前是第几次循环
{% empty %}
列表是空或不存在的时候,执行这里
{% endfor %}

3.if语法

{% if ... %}
逻辑1
{% elif ... %}
逻辑2
{% else %}
逻辑3
{% endif %}

4.url反向解析

{% url 'namespace:name' %}

举例:

三.过滤器

1.语法

过滤器相当于是调用一种函数来对前面的变量进行格式化的操作,比如:

{{ a|lower }}

这样就是使用lower过滤器去处理变量a,lower过滤器是将a中的字符全部变为小写。

2.过滤器大全

我没有过多的整理,所以贴出两个我常用的过滤器列表,知道有哪些过滤器就行,然后有需要的时候去查找就行。

https://www.cnblogs.com/huangxm/p/6286144.html (有教如何自建过滤器的方法)

https://blog.csdn.net/weixin_42042680/article/details/80397836 (常见的过滤器)

四.注释

1.语法

这个不用多说。{# 这里面写注释 #}

五.模板的继承

模板是可以继承的,就如同很多网页,他们的顶部与底部或者两侧是一模一样的,所以我们可以使用模板继承来减少我们的代码量。来提高我们的代码复用率。

不想举例子了,给出其他博主的链接:https://www.cnblogs.com/kumata/p/9687532.html

六.Html转义

如果你是不想在上面显示例如 <h1>1</h1>而使它变成响应的H5代码,那么我们就需要用一种特殊的标签来使得我们能够转义,比如:

对a = '<h1>1</h1>'

{{ a | safe }} #这种只会显示html代码下的1
{{ text }}
{{ text | escape }} #这两种都会显示为<h1>1</h1>

大段的代码建议通过autoescape的 on/off来转义

{% autoescape off %}
    {{text1}}
{% endautoescape %}
发布了63 篇原创文章 · 获赞 38 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/u011017694/article/details/104123569