亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Django 過(guò)濾器匯總及自定義過(guò)濾器使用詳解

 更新時(shí)間:2019年07月19日 14:30:28   作者:時(shí)間@煮雨~  
這篇文章主要介紹了Django 過(guò)濾器匯總及自定義過(guò)濾器使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Django 過(guò)濾器

過(guò)濾器 描述 示例
upper 以大寫(xiě)方式輸出 {{ user.name | upper }}
add 給value加上一個(gè)數(shù)值 {{ user.age | add:”5” }}
addslashes 單引號(hào)加上轉(zhuǎn)義號(hào)  
capfirst 第一個(gè)字母大寫(xiě) {{ ‘good'| capfirst }} 返回”Good”
center 輸出指定長(zhǎng)度的字符串,把變量居中 {{ “abcd”| center:”50” }}
cut 刪除指定字符串 {{ “You are not a Englishman” | cut:”not” }}
date 格式化日期  
default 如果值不存在,則使用默認(rèn)值代替 {{ value | default:”(N/A)” }}
default_if_none 如果值為None, 則使用默認(rèn)值代替  
dictsort 按某字段排序,變量必須是一個(gè)dictionary {% for moment in moments | dictsort:”id” %}
dictsortreversed 按某字段倒序排序,變量必須是dictionary  
divisibleby 判斷是否可以被數(shù)字整除 {{ 224 | divisibleby:2 }} 返回 True
escape 按HTML轉(zhuǎn)義,比如將”<”轉(zhuǎn)換為”&lt”  
filesizeformat 增加數(shù)字的可讀性,轉(zhuǎn)換結(jié)果為13KB,89MB,3Bytes等 {{ 1024 | filesizeformat }} 返回 1.0KB
first 返回列表的第1個(gè)元素,變量必須是一個(gè)列表  
floatformat 轉(zhuǎn)換為指定精度的小數(shù),默認(rèn)保留1位小數(shù) {{ 3.1415926 | floatformat:3 }} 返回 3.142  四舍五入
get_digit 從個(gè)位數(shù)開(kāi)始截取指定位置的數(shù)字 {{ 123456 | get_digit:'1'}}
join 用指定分隔符連接列表 {{ [‘a(chǎn)bc','45'] | join:'*' }} 返回 abc*45
length 返回列表中元素的個(gè)數(shù)或字符串長(zhǎng)度  
length_is 檢查列表,字符串長(zhǎng)度是否符合指定的值 {{ ‘hello'| length_is:'3' }}
linebreaks 用<p>或<br>標(biāo)簽包裹變量 {{ “Hi\n\nDavid”|linebreaks }} 返回<p>Hi</p><p>David</p>
linebreaksbr 用<br/>標(biāo)簽代替換行符  
linenumbers 為變量中的每一行加上行號(hào)  
ljust 輸出指定長(zhǎng)度的字符串,變量左對(duì)齊 {{‘a(chǎn)b'|ljust:5}}返回 ‘a(chǎn)b   '
lower 字符串變小寫(xiě)  
make_list 將字符串轉(zhuǎn)換為列表  
pluralize 根據(jù)數(shù)字確定是否輸出英文復(fù)數(shù)符號(hào)  
random 返回列表的隨機(jī)一項(xiàng)  
removetags 刪除字符串中指定的HTML標(biāo)記 {{value | removetags: “h1 h2”}}
rjust 輸出指定長(zhǎng)度的字符串,變量右對(duì)齊  
slice 切片操作, 返回列表 {{[3,9,1] | slice:':2'}} 返回 [3,9]
{{ 'asdikfjhihgie' | slice:':5' }} 返回 ‘a(chǎn)sdik'
slugify 在字符串中留下減號(hào)和下劃線(xiàn),其它符號(hào)刪除,空格用減號(hào)替換 {{ '5-2=3and5 2=3' | slugify }} 返回 5-23and5-23
stringformat 字符串格式化,語(yǔ)法同python  
time 返回日期的時(shí)間部分  
timesince 以“到現(xiàn)在為止過(guò)了多長(zhǎng)時(shí)間”顯示時(shí)間變量 結(jié)果可能為 45days, 3 hours
timeuntil 以“從現(xiàn)在開(kāi)始到時(shí)間變量”還有多長(zhǎng)時(shí)間顯示時(shí)間變量  
title 每個(gè)單詞首字母大寫(xiě)  
truncatewords 將字符串轉(zhuǎn)換為省略表達(dá)方式 {{ 'This is a pen' | truncatewords:2 }}返回 This is ...
truncatewords_html 同上,但保留其中的HTML標(biāo)簽 {{ '<p>This is a pen<;' | truncatewords:2 }}返回 <p>This is ...<;
urlencode 將字符串中的特殊字符轉(zhuǎn)換為url兼容表達(dá)方式 {{ ‘http://www.aaa.com/foo?a=b&b=c' | urlencode}}
urlize 將變量字符串中的url由純文本變?yōu)殒溄?/td>  
wordcount 返回變量字符串中的單詞數(shù)  
yesno 將布爾變量轉(zhuǎn)換為字符串yes, no 或maybe {{ True | yesno }}
{{ False | yesno }}
{{ None | yesno }} 返回 yes no maybe

自定義過(guò)濾器:

第一步: 在app目錄下創(chuàng)建包 templatetags

在templatetags下創(chuàng)建py文件,文件名隨意,比如

自定義simple_tag, 不能在模板中使用if判斷

from django import template
from django.utils.html import format_html
import datetime

register = template.Library()

@register.simple_tag
def page_cut(current_page, loop_page):
 #分頁(yè): 固定顯示前后5頁(yè)
 differ = abs(current_page - loop_page)
 if differ < 5:
  li = '''<li class=""><a href="?page=%s" rel="external nofollow" >%s<span class="sr-only">(current)</span></a></li>''' % (loop_page, loop_page)
  return format_html(li)
 else:
  #這里一定要返回一個(gè)空字符串,否則在前端會(huì)顯示一系列的None
  return ''

自定義過(guò)濾器函數(shù)filter

因?yàn)閟ample_tag不能使用if判斷,所以才有了它

最多只能有兩個(gè)參數(shù),一個(gè)是變量值,一個(gè)是選項(xiàng)值

from django import template
from django.utils.html import format_html
import datetime

register = template.Library()

@register.filter
def time_color(exp_date):
 #給一個(gè)月內(nèi)到期的html標(biāo)簽加上class屬性
 startdate = datetime.datetime.now().date()
 enddate = startdate + datetime.timedelta(30)
 if (enddate - exp_date).days > 0 and (enddate - exp_date).days <= 30:
  td = '''<td class="%s">%s</td>''' % ('exp_date', exp_date)
  return format_html(td)
 elif (enddate - exp_date).days > 30:
  td = '''<td class="outof">%s</td>''' % (exp_date)
  return format_html(td)
 else:
  td = '''<td>%s</td>''' % (exp_date)
  return format_html(td)

第二步,html引用

在文件開(kāi)頭導(dǎo)入

{% load my_page %}

使用

<tbody>
  {% for project in projects_list %}
  <tr>
   <td><a href="{% url 'projects_detail' project.id %}" rel="external nofollow" >{{ project.com_name }}</a></td>
   <td>{{ project.name}}</td>
   <td>{{ project.domain }}</td>
   <td>{{ project.get_status_display }}</td>
   {{ project.exp_date|time_color }}
   <td>{{ project.ftp }}</td>
  </tr>
  {% endfor %}
 </tbody>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Django的session中使用User對(duì)象的方法

    在Django的session中使用User對(duì)象的方法

    這篇文章主要介紹了在Django的session中使用User對(duì)象的方法,Django是眾Python web開(kāi)發(fā)框架中人氣最高的一個(gè),需要的朋友可以參考下
    2015-07-07
  • Python標(biāo)準(zhǔn)庫(kù)之Sys模塊使用詳解

    Python標(biāo)準(zhǔn)庫(kù)之Sys模塊使用詳解

    這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)之Sys模塊使用詳解,本文講解了使用sys模塊獲得腳本的參數(shù)、處理模塊、使用sys模塊操作模塊搜索路徑、使用sys模塊查找內(nèi)建模塊、使用sys模塊查找已導(dǎo)入的模塊等使用案例,需要的朋友可以參考下
    2015-05-05
  • Python統(tǒng)計(jì)列表中每個(gè)元素出現(xiàn)次數(shù)的4種實(shí)現(xiàn)

    Python統(tǒng)計(jì)列表中每個(gè)元素出現(xiàn)次數(shù)的4種實(shí)現(xiàn)

    本文主要介紹了Python統(tǒng)計(jì)列表中每個(gè)元素出現(xiàn)次數(shù)的4種實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python包合集shutil示例代碼詳解

    python包合集shutil示例代碼詳解

    shutil是?python?中的高級(jí)文件操作模塊,與os模塊形成互補(bǔ)的關(guān)系,os主要提供了文件或文件夾的新建、刪除、查看等方法,還提供了對(duì)文件以及目錄的路徑操作,這篇文章主要介紹了python包合集-shutil,需要的朋友可以參考下
    2022-08-08
  • 詳解Python中魔法方法的使用

    詳解Python中魔法方法的使用

    Python的魔法方法,也稱(chēng)為dunder(雙下劃線(xiàn))方法,是可以讓你對(duì)類(lèi)添加“魔法”的特殊方法。本文主要來(lái)和大家聊聊魔法方法的使用,需要的可以參考一下
    2022-12-12
  • Django 多表關(guān)聯(lián) 存儲(chǔ) 使用方法詳解 ManyToManyField save

    Django 多表關(guān)聯(lián) 存儲(chǔ) 使用方法詳解 ManyToManyField save

    今天小編就為大家分享一篇Django 多表關(guān)聯(lián) 存儲(chǔ) 使用方法詳解 ManyToManyField save,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python單機(jī)五子棋的代碼實(shí)現(xiàn)示例

    python單機(jī)五子棋的代碼實(shí)現(xiàn)示例

    五子棋是經(jīng)典的棋牌類(lèi)游戲,很多人都玩過(guò),那么如何用Python實(shí)現(xiàn)五子棋呢,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • python np.arange 步長(zhǎng)0.1的問(wèn)題需要特別注意

    python np.arange 步長(zhǎng)0.1的問(wèn)題需要特別注意

    這篇文章主要介紹了python np.arange 步長(zhǎng)0.1的問(wèn)題需要特別注意,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python擴(kuò)展庫(kù)numpy入門(mén)教程

    python擴(kuò)展庫(kù)numpy入門(mén)教程

    這篇文章主要為大家介紹了python擴(kuò)展庫(kù)numpy入門(mén)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-11-11
  • 詳解python中的Turtle函數(shù)庫(kù)

    詳解python中的Turtle函數(shù)庫(kù)

    這篇文章主要介紹了python中的Turtle函數(shù)庫(kù),包括函數(shù)庫(kù)的引用方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11

最新評(píng)論