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 %}

 

發佈了54 篇原創文章 · 獲贊 30 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章