Django基礎(四)———模板常用過濾器

前言

上篇文章給大家介紹了DTL模板的部分知識點

這篇文章繼續帶大家深入理解Django框架中的模板過濾器


一、模板常用過濾器

1.add

將傳進來的參數添加到原來的值上面。這個過濾器會嘗試將值和 參數轉換成整形然后進行相加。如果轉換成整形過程中失敗了,那么會將值和參數進行拼接。如果是字符串,那么會拼接成字符串,如果是列表,那么會拼接成一個列表。

{{ valueladd:"2" }}

如果value是等于4,那么結果將是6。如果value是等于一個普通的字符串,比如 abc,那么結果將是abc2。

2.cut

移除值中所有指定的字符串。類似于python中的replace(args,"")。

3.date

將一個日期按照指定的格式,格式化成字符串。

4.default

如果值被評估為False。比如[,"",None,{}等這些在 if判斷中為Fa1se的值,都會使用default過濾器提供的默認值。

{{ valueldefault:"nothing" }}

如果value是等于一個空的字符串。比如"",那么以上代碼將會輸出 nothing。

5.default_if_none

如果值是None,那么將會使用 defau1t_if_none提供的默認值。這個和 default有區別,defau1t是所有被評估為False的都會使用默認值。而 defau1t_if_none 則只有這個值是等于None的時候才會使用默認值。

{{ valueldefault_if_none:"nothing" }}

如果va1ue是等于""也即空字符串,那么以上會輸出空字符串l。如果value是一個None值,以上代碼才會輸出nothing。

6.first

返回列表/元組/字符串中的第一個元素。

{{ valuelfirst }}

如果 value 是等于['a','b','c’],那么輸出將會是a。

7.last

返回列表/元組/字符串中的最后一個元素。

{{ valuellast }}

?如果value 是等于['a','b','c’],那么輸出將會是c。

8.floatformat

使用四舍五入的方式格式化一個浮點類型。如果這個過濾器沒有傳遞任何參數。那么只會在小數點后保留一個小數,如果小數后面全是0,那么只會保留整數。當然也可以傳遞一個參數,標識具體要保留幾個小數。

1.如果沒有傳遞參數:

2.如果傳遞參數:

9.join

類似與Python中的 join,將列表/元組/字符串用指定的字符進行拼接。

{{ valueljoin:"/" }}

如果 value 是等于['a','b','c"],那么以上代碼將輸出 a/b/c.

10.length

獲取一個列表/元組/字符串/字典的長度。

{{ value|length }}

如果value 是等于['a','b','c’],那么以上代碼將輸出3。如果value為None,那么以上將返回0。

11.lower

將值中所有的字符全部轉換成小寫

{{ value |lower }}

如果value是等于Hello world。那么以上代碼將輸出hello world。

12.upper

類似于lower,只不過是將指定的字符串全部轉換成大寫。

13.random

在被給的列表/字符串/元組中隨機的選擇一個值。

{{ value | random }}

如果 value 是等于['a’,'b',"c"],那么以上代碼會在列表中隨機選擇一個, ?

14.safe

標記一個字符串是安全的。也即會關掉這個字符串的自動轉義。

{{value|safe}}

如果value是一個不包含任何特殊字符的字符串,比如<a>這種,那么以上代碼就會把字符串正常的輸入。如果value是一串html代碼,那么以上代碼將會把這個html代碼渲染到瀏覽器中。

15.slice

類似于 Python中的切片操作。

{{ some_listlslice:"2:" }}

以上代碼將會給some_1ist從2開始做切片操作。

16.stringtags

刪除字符串中所有的 html標簽。

{{ value|striptags }}

如果value是<h1>hello world</h1>那么以上代碼將會輸出hello world。

17.truncatecharts

如果給定的字符串長度超過了過濾器指定的長度。那么就會進行切割,并且會拼接三個點來作為省略號。

{{ value|truncatechars:5 }}

如果value是等于 北京歡迎您~,那么輸出的結果是北京.….。可能你會想,為什么不會北京歡迎您..呢。因為三個點也占了三個字符所以 北京+三個點的字符長度就是5。

18.truncatecharts html

類似于 truncatechars,只不過是不會切割html標簽。

{ value| truncatechars:5}}

如果va1ue是等于<p>北京歡迎您~</p>,那么輸出將是<p>北京...</p>。

二、完整代碼

編寫視圖函數

#app應用 views.py中
def filter(request):greet = "Hell World, Hello Django"context={'greet':greet,'date':datetime.now(),'profile':"",'list':['a','b','c'],'html':'<h1>你好</h1>'}return render(request,template_name='GLQ.html',context=context)

編寫路由

path('filter', views.filter, name='filter'),

編寫html

#GLQ.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>你好</title>
</head>
<body><p>{{ greet|cut:" " }}</p>
<p>{{ date|date:"Y-m-d" }}</p>
<p>個人簡介:{{ profile|default:'這個人很懶,什么都沒留下' }}</p>
<p>{{ list|join:"/" }}</p>
<p>{{ list|length }}</p>
<p>{{ greet|lower }}</p>
<p>{{ list|random }}</p>
<p>{{ html|safe }}</p>
<p>{{ list|slice:"2:" }}</p>
<p>{{ html|striptags }}</p>
<p>{{ greet|truncatechars:5 }}</p>
</body>
</html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89432.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89432.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89432.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

國內MCP服務器搜索引擎有哪些?MCP導航站平臺推薦

在人工智能技術蓬勃發展的今天&#xff0c;AI模型與外部工具和服務的交互能力正成為推動技術進步的關鍵。AIbase&#xff08;<https://mcp.aibase.cn/>&#xff09;作為一個專注于MCP(Model Context Protocol&#xff0c;模型上下文協議)服務器的集合平臺&#xff0c;為全…

Python中with的作用和用法

在這里我們來詳細解釋一下Python中非常重要的 with 語句。 我會從 “為什么需要它” 開始&#xff0c;然后講解 “它是什么以及如何使用”&#xff0c;最后深入到 “它的工作原理” 和 “如何自定義”。1. 為什么需要 with 語句&#xff1f;(The Problem) 在編程中&#xff0c;…

緩存雪崩、緩存穿透,緩存擊穿

Redis是一個完全開源免費的高性能非關系型&#xff08;NOSQL&#xff09;的key-value數據庫。 Redis不可能把所有的數據都緩存起來(內存昂貴且有限)&#xff0c;所以Redis需要對數據 設置過期時間&#xff0c;并采用的是惰性刪除定期刪除兩種策略對過期鍵刪除。Redis對過期鍵的…

springmvc跨域解決方案

在Spring MVC中處理跨域請求&#xff08;CORS&#xff0c;Cross-Origin Resource Sharing&#xff09;通常涉及到配置HTTP響應頭&#xff0c;以允許來自不同源的請求。Spring MVC提供了多種方式來配置CORS&#xff0c;包括全局配置和局部配置。 使用CrossOrigin注解 在控制器的…

btstack移植之安全配對(二)

3.13.3 Legacy配對首先&#xff0c;我們回復的paring response中&#xff0c;可以看到我們不支持secure connection&#xff0c;所以我們走的是legacy配對模式。圖3-74 secure連接不支持然后&#xff0c;master在pairing confirm包中回復了confirm value。圖3-75 master發送con…

FRP配置( CentOS 7 上安裝 FRP教程 )

** 如果你們公司沒有公網IP&#xff0c;但是又想實現內網穿透&#xff0c;遠程調用接口&#xff0c;在家也能調用公司服務器&#xff0c;但是nkg ssl有問題&#xff0c;花生殼坑壁&#xff0c;那么FRP是你最佳的選擇&#xff01;&#xff01;&#xff01;** 不過有個前提&#…

第三次mysql作業

建立庫建立mydb11_syu庫2.創建s表&#xff0c;創建sc表二&#xff0e;插入數據向s表插入數據2.向sc表插入數據三&#xff0e;查詢1.分別查詢student表和score表的所有記錄2.查詢student表的第2條到5條記錄3.從student表中查詢計算機系和英語系的學生的信息4.從student表中查詢年…

不同場景下git指令的搭配

添加賬號 git config --global user.name "YourName" git config --global user.email "your_emailexample.com"設置 Git 默認分支名稱為 main&#xff1a; git config --global init.defaultBranch main初始化倉庫&#xff1a; git init配置SSH 密鑰 如果…

NLP——遷移學習

一、遷移學習的概念 1.預訓練模型(Pretrained model) 定義: 簡單來說別人訓練好的模型。一般預訓練模型具備復雜的網絡模型結構&#xff1b;一般是在大量的語料下訓練完成的。 2.微調(Fine-tuning) 定義:一般是對預訓練語言模型&#xff0c;進行垂直領域數據的微調&#xff0c;…

Ubuntu 安裝

文章目錄硬件準備下載 Ubuntu 鏡像創建可啟動 USB從 USB 驅動器啟動安裝 Ubuntu不要忘記更新&#xff01;用了十多年的筆記本&#xff0c;手邊正好有個500G的固態&#xff0c;準備換上。考慮到機器的硬件配置&#xff0c;現在使用windows10實在是有點卡&#xff0c;ubuntu卻剛好…

【46】MFC入門到精通——MFC顯示實時時間,獲取系統當前時間GetCurrentTime()、獲取本地時間GetLocalTime()

文章目錄1 MFC獲取時間方法方法一&#xff1a;獲取系統當前時間GetCurrentTime()方法二&#xff1a;獲取本地時間GetLocalTime()使用GetTickCount()獲取程序運行時間2 MFC顯示實時時間 使用方法2.1 獲取時間2.2 類向導 添加定時器函數 OnTimer2.3 初始化 設置定時器2.4 定時器函…

Linux717 SWAP擴容;邏輯卷條帶化

root192.168.235.20s password:┌────────────────────────────────────────────────────────────────────┐│ ? MobaXterm 20.0 ? ││ …

人類社會發展過程中的熵增定律

引子研究美國羅斯福新政期間的法案為什么會對美國經濟恢復起作用&#xff1f;與千金買馬骨和移木賞金之間的區別與聯系&#xff1f;以下為豆包 AI回答一、羅斯福新政法案對美國經濟起作用的原因羅斯福新政&#xff08;1933-1939年&#xff09;通過一系列政策應對大蕭條&#x…

Spring-AI系列-入門篇-核心概念、組件和生產要素

原文-Spring AI知識庫&#xff0c;歡迎大家評論互動 師父領進門&#xff0c;修行靠自己。 Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design an…

從瀏覽器到服務器:TCP 段的網絡傳輸之旅

本文以簡化的網絡架構為例&#xff0c;詳細介紹了當你在瀏覽器中輸入網址&#xff08;例如www.google.com&#xff09;并按下回車鍵后&#xff0c;TCP段的完整傳輸過程。我們將探討DNS解析、ARP、TCP/IP封裝、PAT和路由如何協同工作&#xff0c;將數據從個人電腦通過局域網和廣…

HCIE - 云計算拿下后的職業選擇如何規劃?

Hello&#xff01;大家好&#xff0c;小編是一名專注 IT 領域的資深探索家。我們聊聊HCIE - 云計算&#xff0c;這個認證作為華為認證體系中云計算領域的專家級認證&#xff0c;標志著持有者具備企業級云架構設計、復雜云平臺運維及跨場景技術落地能力。但認證本身只是職業進階…

1-創建Vue3項目

創建Vue3項目前提 已安裝 18.3 或更高版本的 Node.js vue 官網 https://vuejs.org/ 創建一個 Vue 應用 ① 新建項目目錄&#xff0c;使用 VSCode 打開 VSCode 可安裝 Vue-Official 插件協助開發 ② 執行 create vue 指令創建 vue 應用 npm create vuelatest這一指令將…

Codex,Copilot 是什么

Codex是什么 Codex 是 OpenAI 研發的一款專注于代碼生成的大型語言模型,它可以根據自然語言描述自動編寫程序代碼,在軟件開發、自動化測試等領域展現出了強大的應用潛力。下面為你詳細介紹: 1. 核心功能 代碼生成:Codex 能夠依據自然語言指令生成代碼,像函數、類或者完整…

Typecho插件開發:自定義表單驗證規則addRule實戰指南

文章目錄 Typecho表單驗證進階:為插件和主題添加自定義addRule驗證規則 引言 一、Typecho表單驗證基礎 1.1 Typecho表單系統概述 1.2 addRule方法解析 二、自定義驗證規則實現 2.1 創建自定義驗證類 2.2 注冊自定義驗證規則 2.3 使用自定義驗證規則 三、高級驗證場景實現 3.1 …

數據分布是如何影響目標檢測精度的

文章目錄一、研究背景與目標模型效果提升數據集優化二、研究問題明細各方向的關聯性與核心邏輯1. 高質量數據集的高效篩選與主動學習應用2. 基于推理結果的數據補充與增強方向優化3. 多類別場景下目標尺度與模型精度的關聯性4. 損失函數與數據增強對精度的量化影響5. 目標類型專…