人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Django零基礎(chǔ)入門之常用過濾器詳解

發(fā)布日期:2022-01-29 19:07 | 文章來源:gibhub

引言:

前面講過了Django中使用模板變量。使用很簡單,那么有沒有什么關(guān)于模板變量的騷操作呢?
答案是肯定有的,這就是本文要講的——過濾器!

1.過濾器

(1)純干貨講解:

作用: 對變量進行過濾。在真正渲染出來之前,過濾器會根據(jù)功能處理好變量,然后得出結(jié)果后再替換掉原來的變量展示出來。

  • 語法:{{ fruits|lower }}
  • 管道符號進行鏈?zhǔn)秸{(diào)用(可以理解為嵌套使用?。?,比如實現(xiàn)一個功能,先把所有字符變成小寫,再把第一個字符轉(zhuǎn)換成大寫。
  • 語法:{{fruits|lower|capfirst}}
  • 使用參數(shù):過濾器可以使用參數(shù),在過濾器名稱后面使用冒號,加上雙引號,雙引號里面再加上參數(shù),比如要把一個字符串中所有的空格去掉,則可以使用cut過濾器——語法: {{fruits|cut:" "}}
  • 注意:使用參數(shù)的時候,冒號和參數(shù)之間不能有任何空格,一定要緊挨著!

(2)Django中實戰(zhàn)使用——常用的過濾器:

①項目目錄下的views.py文件:

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
from datetime import datetime
def index(request):
 test="THIS IS A LIST!"
 list=["A","B","C","D","E"]
 data={
  'test':test,
  'xx':'',
  'num1':1,
  'num2':2,
  'list':list,
  'now':datetime.now(),
  'html':'<h1>hello django!!!</h1>',
  'float':3.1415926
 }
 return render(request, "index.html", data)

②項目目錄下templates模板文件夾下的模板文件index.html:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>測試!</title>
</head>
<body>
{#沒做處理的變量:#}
{{ test }}<br>
{#設(shè)置了默認(rèn)值的變量  在這個值被django認(rèn)為是False的時候會使用此默認(rèn)值。比如:空字符串,None。#}
{{ xx|default:'xxxxx' }}<br>
{#設(shè)置了只有為None時才使用默認(rèn)值的變量#}
{{ xx|default_if_none:'aaaaa'}}<br>
{#變?yōu)樾懞蟮淖兞?}
{{ test|lower }}<br>
{#先變?yōu)樾懺賹⑹鬃帜复髮懞蟮淖兞?}
{{ test|lower|capfirst }}<br>
{#兩個數(shù)字變量相加add:字符串相加,數(shù)字相加,列表相加,如果失敗,將會返回一個空字符串#}
{{ num1|add:num2 }}<br>
{#兩個字符串變量相加#}
{{ test|add:xx }}<br>
{#列表變量的第一個元素#}
{{ list|first }}<br>
{#列表變量的最后一個元素#}
{{ list|last }}<br>
{#默認(rèn)的data日期時間格式#}
{{ now|date }}<br>
{#默認(rèn)的time時間格式#}
{{ now|time }}<br>
{#這是data過濾器的年月日24小時制時間格式#}
{{ now|date:'Y/m/d/H:i:s' }}<br>
{#這是time過濾器的時分秒12小時制時間格式#}
{{ now|time:'h:i:s' }}<br>
{#這是字符串的join方法  跟python中join一樣的用法#}
{{ list|join:'oooo' }}<br>
{#這是字符串的長度方法#}
{{ test|length }}<br>
{#這是列表的長度是否為4#}
{{ list|length_is:4 }}<br>
{#下面這倆有xxx.html類型的,針對html,截斷標(biāo)簽中的字符,而不會截斷標(biāo)簽#}
{#這是字符串只顯示4個字符,其余省略(但是占3位)#}
{{ test|truncatechars:7 }}<br>
{#這是字符串只顯示2個單詞,其余省略(不占位)#}
{{ test|truncatewords:2 }}<br>
{#這是字符串的切片#}
{{ test|slice:'1:4' }}<br>
{#這是列表的切片#}
{{ list|slice:'2' }}<br>
{#這是含html標(biāo)簽的字符串#}
{{ html }}<br>
{#這是去掉字符串中的html標(biāo)簽#}
{{ html|striptags }}<br>
{#這是關(guān)掉自動轉(zhuǎn)義,使字符串中html標(biāo)簽生效#}
{{ html|safe }}<br>
{#這是沒做處理的小數(shù)#}
{{ float }}<br>
{#這是保留了一位小數(shù)#}
{{ float|floatformat }}<br>
{#這是保留了兩位小數(shù)#}
{{ float|floatformat:'2' }}
</body>
</html>

③效果展示:

date和time過濾器格式:

拓展——簡介自動轉(zhuǎn)義:

什么是自動轉(zhuǎn)義?
自動轉(zhuǎn)義是將變量的一些特殊字符,比如左箭頭(<)、右箭頭(>)轉(zhuǎn)義成html代碼,這樣做的目的是為了處理一些不安全的變量。

<:轉(zhuǎn)義成&lt;
>:轉(zhuǎn)義成&gt;
‘:轉(zhuǎn)義成&#39;
“:轉(zhuǎn)義成&quot;
&:轉(zhuǎn)義成&amp;

到此這篇關(guān)于Django零基礎(chǔ)入門之常用過濾器詳解的文章就介紹到這了,更多相關(guān)Django過濾器內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

海外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部