inclusion_tag模块
inclusion_tag模块
1.当页面上某一块区域的内容需要在多个页面上展示的使用,并且该区域的内容需要通过传参数才能正常显示,那么我们可以优先考虑inclusion_tag模块:
自定义标签过滤器inclusion_tag三步骤战略:
1.在应用下必须新建一个名叫templatetags的文件夹
2.在文件夹下新建任意名称的py文件
3.在该py文件内必须先写两句代码
from django.template import Library
register = Library
2.下面我们看一个BBS的示例
from django.template import Library
from app01 import models
from django.db.models import Count
from django.db.models.functions import TruncMonth
register = Library()
@register.inclusion_tag('left_menu.html')
# 定义一个函数,接收一个username参数,(因为调用这个的时候需要传一个username参数)
def my_menu(username):
user_obj = models.Userinfo.objects.filter(username=username).first()
# 因为用户表与blog表示一对一的关系表所以可以通过下面的方法取值
blog = user_obj.blog
# 1.查询当前用户每一个分类及分类下的文章数
category_list = models.Categroy.objects.filter(blog=blog).annotate(num=Count('article')).values_list('num', 'cate_name','pk')
# 2.查询当前用户每一个标签及标签下的文章数
tag_list = models.Tag.objects.filter(blog=blog).annotate(num=Count('article')).values_list('tag_name', 'num', 'pk')
# 3.按年月分组
data_list = models.Article.objects.filter(blog=blog).annotate(month=TruncMonth('create_time')).values('month').annotate(num=Count('pk')).values_list('month', 'num')
return locals()
inclusion_tag模块的更多相关文章
- django inclusion_tag
一种比较普遍的tag类型是只是渲染其它模块显示下内容,这样的类型叫做Inclusion Tag. 例如,实现以下tag: {% books_for_author author %} 渲染结果为: &l ...
- Python19/1/11--标签与过滤器/Django模块导入继承/静态文件配置
1 模板语言之变量: -{{ }} 相当于执行了print -深度查询 . 如果是方法,不能加括号,不能传参数2 过滤器 {{ 变量|过滤器的名字:'参数' }} -add -default -s ...
- $Django 客户端->wsgi->中间组件->urls->views(model,template) 总结+补充(事物,choices,inclusion_tag)!
1 HTTP协议:(重点) -请求 -请求首行 -GET /index HTTP/1.1 \r\n -请求头部 -key:value------>\r\n分割 _ke ...
- django系列4.2--自定义标签, 自定义过滤器, inclusion_tag, 引入静态文件(css,js等)
项目的目录为 在app中创建templates时,最好要再创建一个app名相同的文件夹,因为项目找文件时从第一个app开始遍历,不同app内的同名文件会有冲突,所以这样处理 一.自定义标签和过滤器 1 ...
- Web框架之Django_04 模板层了解(过滤器、标签、自定义过滤器、标签、inclusion_tag、模板的继承与导入)
摘要: 模版层(模板语法) 模板语法 过滤器 标签 自定义过滤器.标签 inclusion_tag 模板的继承 模板的导入 一.模板语法: 常用语法:{{ }} 变量相关{% %} ...
- Django框架(十一)-- 补充:inclusion_tag、defer、only、choice、事务、创建多对多的第三张表、mvc和mtv模式
一.inclusion_tag 1.作用 用于生成HTML片段,是数据由参数传入而变成动态 2.使用 # 1.app下新建一个模块,templatetags # 2.创建一个py文件(mytag.py ...
- day58——模板继承、组件、自定义标签和过滤器、inclusion_tag、静态文件配置、url别名和反向解析、url命名空间
day58 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承它使用) 2. 在母版中定义block块(可以定义多个,整个页面任意位置) {% block co ...
- Django模板渲染之自定义inclusion_tag详细使用
inclusion_tag在使用的时候可以帮我们减少很多前端和后端重复的代码 逻辑图: inclusion_tag的作用是主页面以一定的语法给一个参数,调用某个函数,这个函数可以通过主页面给的参数做一 ...
- Django之自定义标签,过滤器,以及inclusion_tag
目录 Django之自定义标签,过滤器,以及inclusion_tag 自定义过滤器 自定义标签 inclusion_tag inclusion_tag() 项目实例: inclusion_tag() ...
随机推荐
- XML中不能识别&符号, 需要转义吗?
“&”在XML中是具有特殊含义的,是转义字符的前缀,如果要想用这个字符就需要转义.遇到“&”就替换成“&”就好了; xml所有转义符 和 & & 大于 ...
- python报错及处理 -- 不断总结
ModuleNotFoundError: No module named 'PIL' 解决方法: 运行命令:pip install Pillow IndentationError: expected ...
- 无法执行vue初始化命令
无法执行vue初始化命令:https://www.jianshu.com/p/9eb3cf854aa8 今天vue 初始化项目时提示错误 执行命令: npm install -g vue-cli 执行 ...
- 使用alias简化kubectl输入
在使用Kubernetes的过程中,我们需要经常使用kubectl(客户端)命令,经常敲下kubectl是非常繁琐的,使用Linux的alias可以为一些常见的命令起别名,这样使用起来就方便多了. ⒈ ...
- 基于 CentOS 7 搭建 GitLab
⒈更新软件包 yum update -y ⒉安装 ssh服务并启动 yum install -y curl policycoreutils-python openssh-server systemct ...
- 安装laravel框架
方式一:Windows版本通过composer来下载安装laravel框架 一:laravel是php的一个web框架.laravel框架安装主要依赖composer工具,本经验就介绍一下怎么在win ...
- winform messageBox.Show()
MessageBox.Show(" 5 个参数...... ", " 亮仔提示", MessageBoxButtons.OKCancel, ...
- 【原创】大叔问题定位分享(33)oozie提交任务报错ArithmeticException: / by zero
oozie提交workflow后执行task报错: 2019-07-04 17:19:00,559 ERROR [RMCommunicator Allocator] org.apache.hadoop ...
- Java高并发程序设计学习笔记(九):锁的优化和注意事项
转自:https://blog.csdn.net/dataiyangu/article/details/87612028 锁优化的思路和方法减少锁持有时间减小锁粒度锁分离锁粗化举个栗子举个栗子锁消除虚 ...
- Oracle 11.2.0.1 ADG环境MRP进程遭遇ORA
环境:Linux + Oracle 11.2.0.1 ADG现象:发现备库没有应用日志 1. 数据库查询备库目前状态发现备库目前没有应用日志,apply lag已经显示备库有3天21小时多没有应用日志 ...