欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Python如何實現(xiàn)自定義計算時間過濾器

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

成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、上林網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為上林等各大城市提供網(wǎng)站開發(fā)制作服務(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 render
from datetime import datetime
def 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 %}
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  {{ time|time_since }}
</body>
</html>

瀏覽器中查看結(jié)果:

Python如何實現(xiàn)自定義計算時間過濾器

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

本文名稱:Python如何實現(xiàn)自定義計算時間過濾器
網(wǎng)址分享:http://aaarwkj.com/article30/igospo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)Google、用戶體驗、靜態(tài)網(wǎng)站、域名注冊、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
亚洲一区二区三区免费在线视频| 黄色亚洲大片免费在线观看| 四虎精品在线免费视频| 在线观看免费国产k片| 欧美日韩国产一区在线观看| 人人妻人人澡人人爽的视频| 91免费福利激情视频| 一本色桃子精品久久中文字幕| 午夜日本大胆裸体艺术| 免费国产污在线观看网站| 日韩人妻有码中文字幕| 国产一级一片内射在线| 日韩视频一区二区三区系列 | 在线国产精品中文字幕| 蜜臀av在线播放黑丝| 色伊人久久综合中文字幕| 亚洲天堂国产成人精品| 日本一级二级三级在线看| 日本一区不卡二区高清| 情五月激情亚洲丁香佳色| 国产一区二区三区的网站| 亚洲国产自拍精品视频| av蜜臀一区二区三区| 亚洲av香蕉综合一区| 一区二区三区不卡中文字幕| 女同同性av观看免费| 国产精品一区二区在线观看| 免费国产午夜福利在线| 欧美日韩国产看片一区二区| 九色视频在线观看91| 欧美另类不卡在线观看| 国产日韩亚洲欧美色片| 草草在线成年免费视频| 高质量的性生活在线观看| 97色伦97色伦国产在线| 亚洲精品中国一区二区久久| 国产高清视频在线观看流白浆| 国产精品综合av一区二区国产馆| 日韩一区二区三区高清免费视频成人 | 日韩欧美精品久久黄| 国产成人综合亚洲一区|