日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自定义过滤器和自定义标签

發(fā)布時間:2024/1/23 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义过滤器和自定义标签 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在我們的日常的django開發(fā)過程當中,難免遇到數(shù)據(jù)處理的問題,比如,現(xiàn)在通過數(shù)據(jù)采集,得到了全國3億人的生日,然后要在前端進行展示,但是,由于數(shù)據(jù)來源多處,導致生日的格式各種各樣,比如 1983-02-03 ,2016年4月16日,這個時候如果數(shù)據(jù)采集過程當中沒有進行數(shù)據(jù)過濾,就需要有一種功能針對每一條數(shù)據(jù)的日期進行修改。
views.py

def threeyiData(request):threeyi = [{"name": "張三", "birthday": "1983-04-45"},{"name": "李四", "birthday": "1996年02月68日"},{"name": "王五", "birthday": "1983/02/31"},{"name": "馬六", "birthday": "1983.02.03"},]return render(request,"loginapp/tyd.html",locals())

1、在APP當中創(chuàng)建templatetags包,然后在里面創(chuàng)建過濾器文件。

import re from django import template register=template.Library() @register.filter(name="setTime") def set_time(value):"""過濾器函數(shù),value接收的是過濾器前面的值{{a|setTime}}value就是a:param value::return:"""res=re.findall(r"(\d{2,4}).*?(\d{1,2}).*?(\d{1,2})",value)result="%s年%s月%s日"%res[0]return result

3、在settings INSTALL_APP當中安裝過濾器文件

  • List item

  • 4、在前端使用過濾器

    {% extens "base.html" %} {% load setTime %} {% block content %}{% for three in threeyi %}<p style="color:green">{{ three.name }}:{{ three.birthday|setTime|replaceSting:"0,o"}}</p>{% endfor %}{% endblock %}

    過濾器加參數(shù)

    @register.filter(name="replaceSting") def set_time(value,args):"""過濾器函數(shù),value接收的是過濾器前面的值{{a|setTime}}value就是a"""args1,args2=args.split(",")result=value.replace(args1,args2)return result

    總結(jié)

    以上是生活随笔為你收集整理的自定义过滤器和自定义标签的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。