Django模板语言中的自定义方法filter过滤器实现web网页的瀑布流
生活随笔
收集整理的這篇文章主要介紹了
Django模板语言中的自定义方法filter过滤器实现web网页的瀑布流
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模板語言自定義方法介紹
自定義方法注意事項
Django中有simple_tag 和 filter 兩種自定義方法,之前也提到過,需要注意的是
simple_tag 和 filter 的區別
- simple_tag:可以有多個參數,一般是做數據處理,但不能做if判斷語句
- filter:一般只能有1個參數(可以字符串切割,變通為多個參數),過濾器,一般是return true或者false,可以和if判斷語句使用.在過濾器 {{ var|foo:"bar" }} 中 ,過濾器 foo 會被傳入變量 var 和默認參數 bar。過濾器函數應該總有返回值
使用方法
目錄結構
xx.py代碼:
#需要從django中導入一些模塊 from django import template from django.utils.safestring import mark_safe from django.template.base import resolve_variable, Node, TemplateSyntaxError register = template.Library()simple_tag 頁面使用
{% load xx %}filter 頁面使用
{% load xx %}頁面實現瀑布流
布局介紹
由于圖片有大有小,所以為了頁面的整齊,沒有空隙,可以將頁面body主體分為4列,每一列依次往下排列圖片和介紹即可.
由于頁面是從左到右排序的,所以我們可以將圖片的列隊索引+1后除以4后得到的余數,就是所在頁面中所在的列數,所以可以使用python中的div()函數來處理.
代碼
擴展方法代碼:xx.py 文件
from django import template from django.utils.safestring import mark_safe from django.template.base import resolve_variable, Node, TemplateSyntaxError register = template.Library()views.py范例
from django.shortcuts import render# Create your views here.def student(request): img_list = [ {'src': '1.jpg', 'title': 'asdfasdfasdf','content': 'asdf'},# 1 {'src': '2.jpg', 'title': 'asdfasdfasdf','content': 'asdf'},# 2 {'src': '3.jpg', 'title': 'asdfasdfasdf','content': 'asdf'}, {'src': '4.jpg', 'title': 'asdfasdfasdf','content': 'asdf'}, {'src': '18.jpg', 'title': 'asdfasdfasdf','content': 'asdf'},# 5 {'src': '21.jpg', 'title': 'asdfasdfasdf','content': 'asdf'}, ] return render(request, 'student.html', {"img_list":img_list})html頁面代碼
{% load xx %}轉載于:https://www.cnblogs.com/zxmbky/p/9769153.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Django模板语言中的自定义方法filter过滤器实现web网页的瀑布流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ftpwebrequest 无法加载或初
- 下一篇: 回调函数透彻理解Java