最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django 過濾器匯總及自定義過濾器使用詳解

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

Django 過濾器

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

自定義過濾器:

第一步: 在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):
 #分頁: 固定顯示前后5頁
 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:
  #這里一定要返回一個空字符串,否則在前端會顯示一系列的None
  return ''

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

因為sample_tag不能使用if判斷,所以才有了它

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

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

register = template.Library()

@register.filter
def time_color(exp_date):
 #給一個月內到期的html標簽加上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引用

在文件開頭導入

{% 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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python文件操作整理匯總

    python文件操作整理匯總

    本文主要記錄了個人在項目中遇到的一些Python中對于文件、文件夾的操作需要涉及到的函數(shù)等內容,非常的詳盡,有需要的可以參考下
    2014-10-10
  • python3+selenium4實現(xiàn)切換窗口與iframe的方法

    python3+selenium4實現(xiàn)切換窗口與iframe的方法

    在自動化測試過程中,有時后會遇到元素定位方式沒有問題,但是依舊拋出無法找到元素的異常的問題,有可能是由于當前焦點不在指定頁面或iframe導致的,本文就來說明 一下
    2021-05-05
  • 詳解基于Scrapy的IP代理池搭建

    詳解基于Scrapy的IP代理池搭建

    這篇文章主要介紹了詳解基于Scrapy的IP代理池搭建,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • python 基于selectors庫實現(xiàn)文件上傳與下載

    python 基于selectors庫實現(xiàn)文件上傳與下載

    這篇文章主要介紹了python 基于selectors庫實現(xiàn)文件上傳與下載的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python os模塊介紹

    Python os模塊介紹

    這篇文章主要介紹了Python os模塊介紹,需要的朋友可以參考下
    2014-11-11
  • TensorFlow dataset.shuffle、batch、repeat的使用詳解

    TensorFlow dataset.shuffle、batch、repeat的使用詳解

    今天小編就為大家分享一篇TensorFlow dataset.shuffle、batch、repeat的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 在Python的Flask框架中使用日期和時間的教程

    在Python的Flask框架中使用日期和時間的教程

    這篇文章主要介紹了在Python的Flask框架中使用日期和時間的教程,包括對各個時區(qū)之間轉換的一些處理,需要的朋友可以參考下
    2015-04-04
  • Python2.7環(huán)境Flask框架安裝簡明教程【已測試】

    Python2.7環(huán)境Flask框架安裝簡明教程【已測試】

    這篇文章主要介紹了Python2.7環(huán)境Flask框架安裝方法,結合實例形式詳細分析了Python2.7環(huán)境下安裝Flask框架遇到的問題與相關解決方法、注意事項,并給出了一個基本的測試示例,需要的朋友可以參考下
    2018-07-07
  • Python編程使用PyQt5制作動態(tài)鐘表示例

    Python編程使用PyQt5制作動態(tài)鐘表示例

    本篇文章將用 Python 同時繪制兩種類型的表;一個是上面提到的含有時、分、秒針的鐘表(為了方便,下面統(tǒng)稱為老式鐘表),一個是電子表,最終運行效果文中如下呈現(xiàn)
    2021-10-10
  • 50行Python代碼實現(xiàn)人臉檢測功能

    50行Python代碼實現(xiàn)人臉檢測功能

    現(xiàn)在的人臉識別技術已經得到了非常廣泛的應用,支付領域、身份驗證、美顏相機里都有它的應用。下面小編給大家?guī)砹嘶?0行Python代碼實現(xiàn)人臉檢測功能,一起看看吧
    2018-01-01

最新評論

盖州市| 盐津县| 武城县| 固始县| 科技| 闻喜县| 灵宝市| 莒南县| 澄城县| 若羌县| 太原市| 游戏| 曲麻莱县| 时尚| 简阳市| 秦安县| 兴仁县| 拉萨市| 涪陵区| 汾阳市| 毕节市| 桂东县| 山阴县| 平罗县| 新乡市| 秦安县| 文登市| 元谋县| 抚顺县| 荥经县| 汾阳市| 桂林市| 台东市| 黄石市| 金堂县| 乐东| 乌兰察布市| 汪清县| 台湾省| 上杭县| 柘城县|