真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python自定義計算時間過濾器實現(xiàn)過程的示例分析

這篇文章主要介紹Python自定義計算時間過濾器實現(xiàn)過程的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)專注于青浦企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,商城系統(tǒng)網(wǎng)站開發(fā)。青浦網(wǎng)站建設(shè)公司,為青浦等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

在寫自定義的過濾器時,因為django.template.Library.filter()本身可以作為一個裝飾器,所以可以使用:

register = django.template.Library()@register.filter  代替 register.filter("過濾器名","函數(shù)名")

如果使用@register.filter進行注冊自定義的過濾器,并且沒有傳遞任何參數(shù),那么默認(rèn)的過濾器名和函數(shù)名是相同的,當(dāng)然,也可以進行修改,只需要在@register.filter("過濾器名"),此時的過濾器名就更改了,就可在DTL模板中使用自定義的過濾器了。

定義時間計算過濾器在顯示的時候,時間的顯示規(guī)則:time距離現(xiàn)在多長時間間隔

如果時間間隔小于1分鐘,那么就像是“剛剛”如果時間間隔大于1分鐘小于1小時,那么就顯示“xx分鐘前”如果是大于1小時小于24小時,那么就顯示“xx小時前”如果是大于24小時,小于30天,那么就顯示“xx天前”'否則就是顯示具體時間

示例代碼如下:

自定義過濾器的文件my_fliter.py

@register.filter()def time_since(value):  # 首先對傳進來的時間進行判斷,如果是datetime類型的就可以與當(dāng)前的時間進行比較,  # 如果不是datetime類型的,就直接返回value  if not isinstance(value,datetime):    return value  # 如果可以到達這里,就代表為datetime類型的,  # timedelay.total_seconds()屬性  now = datetime.now()  timestamp = (now - value).total_seconds()  if timestamp < 60:    return "剛剛"  elif timestamp >= 60 and timestamp < 60*60:    # 在python3中如果兩數(shù)相除,有余數(shù)的話,就會保持小數(shù),這個時候我們就可以使用int()函數(shù),進行轉(zhuǎn)換    minutes = int(timestamp/60)    return "%s分鐘前" % minutes  elif timestamp >= 60*60 and timestamp < 60*60*24:    hours = int(timestamp/60/60)    return "%s小時前" % hours  elif timestamp >= 60*60*24 and timestamp < 60*60*24*30:    days = int(timestamp/60/60/24)    return "%s天前" % days  else:    return value.strftime("%Y/%m/%d %H:%M")

views.py中定義視圖函數(shù),并且構(gòu)造一個時間:

from django.shortcuts import renderfrom datetime import datetimedef index(request):  context = {    'time': datetime(year=2019,month=1,day=16,hour=23,minute=44,second=0)  }  return render(request,'index.html',context=context)

index.html中進行調(diào)用:

{# 如果想要使用自定義的過濾器的話,就必須要先導(dǎo)入 ,導(dǎo)入的名稱為自定義過濾器所處的文件名 #}{# 必須要把app安裝到settings.py文件中 #}{% load my_fliter %}    Title  {{ time|time_since }}

以上是“Python自定義計算時間過濾器實現(xiàn)過程的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞名稱:Python自定義計算時間過濾器實現(xiàn)過程的示例分析
分享路徑:http://weahome.cn/article/ghssjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部