Django中的模板和分页
模板
在Templates中添加母版:
- 母版...html
母版(master.html)中可变化的地方加入:
{%block content%}{%endblock%}
在子版 (usermg.html) 中设置如下:
{% extends 'master.html' %}
{% block content%}
<h1>用户管理</h1>
{%end block%}
导入小组件的模块:
{% include 'model.html' %}
#同样会载入model.html中的模板语言
自定义模板语言函数simple_tag:
{{ name|lower}} #lower函数让name全部小写
新建templatetags文件夹,创建函数文件xxxx.py:
from django import template
from django.utils.safestring import mark_safe register = template.Library()
(1)simple_tag (不能作为if条件,参数任意)
@register.simple_tag
def func_test(a):
return a
在html中引入:
{% load xxxx %}
{% func_test a %}
(2)filter(可以作为if条件,参数只能最多两个,不能有空格)
@register.filter
def func_test1(a,b): #只能传两个参数
return a+b
在html中引入:
{% load xxxx %}
{{ "maliya"|func_test1:'sasa' }} #不能有多余的空格
{{参数1|函数名:参数2}}
应用:
filter 可以放入 if 中作为条件
{%if "maliya"|func_test1:'sasa' %}
总结:
a.创建templatetags目录
b.任意py文件
c.创建template对象 register
d.定义函数,加上装饰器
e.在settings注册当前app
f.在顶部LOAD {% load xxoo%}
g.引用 {% 函数名 参数1 参数2 %}
ps:让字符串强制转化为html语言:
{{page_str|safe}}
page_str = mark_safe(page_str)
分页(自定义的分页)
简单思路如下:
让字符串强制转化为html语言:
{{page_str|safe}}
page_str = mark_safe(page_str) 计算页数:
all_count = len(LIST)
count,y = divmod(all_count,10)
count = count+1 if y
list = []
for i in range(1,count+1):
temp = '<a class = 'page' href = 'user/?p=%s'> %s </a>'%(i,i)
list.append(temp) 当前页:current_page
总页数:total_page
每页显示10条数据:per_page_page
页码:11 如果:总页数 < 11
start_page = 1
end_page = total_page
else:
当前页 <= 6:
start_page = 1
end_page = 11 + 1
else:
start_page = 当前页 -5
end_page = 当前页 +5+1
如果 当前页 +5 > 总页数:
end_page = 总页数
start_page = 总页数 -10
utils文件夹:分页模块
Django中的模板和分页的更多相关文章
- Django中扩展Paginator实现分页
Reference:https://my.oschina.net/kelvinfang/blog/134342 Django中已经实现了很多功能,基本上只要我们需要的功能,都能够找到相应的包.要在Dj ...
- Django中ORM模板常用属性讲解
学习了ORM模板中常用的字段以及使用方法,具体如下: from django.db import models # Create your models here. # 如果要将一个普通的类映射到数据 ...
- Django中的模板渲染是什么
首先建立一个页面 在views.py中增加一个方法 配置URL 如何实现的呢 这就是渲染,传递的数据不同显示的数据也不同.Django里的渲染引擎和Jinja的虽然不同但是语法基本通用.现在明白什么叫 ...
- Django中html里的分页显示
分页一(very low) 因为数据量过大,而又想直观便捷的查看数据,进而通过分页显示就可以完成这项工作 app中views.py LIST=[] #全局定义一个LIST for i in range ...
- Django中的模板变量
示例文件: template_variable_demo.zip
- Django补充之模板语言
路由系统 Django页面详情以及分页 举个例子: 有一组后台数据,需要展示到页面上,但由于数据量较大,那就需要做分页了吧,那么怎么才能将页面详情和分页都融合进去呢,Django里的路由系统加上正则表 ...
- Python学习笔记整理总结【Django】:模板语言、分页、Cookie、Session
一.模板语言 1.在前段展示:对象/字典/元组 class Business(models.Model): # id #用默认的自增id列 即:Business中有3列数据(id, caption, ...
- python框架Django中MTV框架之Template(模板/界面)
MTV框架之Template(模板/界面) 关注公众号"轻松学编程"了解更多. 1.模板目录位置 应用下 不需要注册 无法跨应用地进行复用 工程下 需要注册 settings.py ...
- Django 中url补充以及模板继承
Django中的URL补充 默认值 在url写路由关系的时候可以传递默认参数,如下: url(r'^index/', views.index,{"name":"root& ...
随机推荐
- 动态方式破解apk进阶篇(IDA调试so源码)
动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/qq_21051503/article/details/74907449 下面就说关于在IDA中And ...
- IE7中a标签包含img,点击img,链接失效的bug
在做列表时,我们经常会这样写: <ul class="works-list"> <li> <a href=""> <d ...
- [CODEVS1914] 运输问题(最小费用最大流)
传送门 水题. 建图都不想说了 ——代码 #include <queue> #include <cstdio> #include <cstring> #includ ...
- MockMvc详解
★ MockMvc - SpringMVC单元测试的独立测试: 一.简介 为何使用MockMvc? 对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通 ...
- javascript script load related【转】
先来看这行代码: <script src = "allMyClientSideCode.js"></script> 这有点儿……不怎么样.“这该放在哪儿?” ...
- Using a USB host controller security extension for controlling changes in and auditing USB topology
Protecting computer systems from attacks that attempt to change USB topology and for ensuring that t ...
- PE+ 1.0 ( Pump Express Plus 1.0 )
Dialog iW1788 for PE+ 1.0 Dialog iW1680 for PE PE+1.0 for up to 15W battery, improve charging time, ...
- 《Python基础教程读书笔记》
第1章 快速构造:基础知识 1.2交互式构造器 不强制分号,一行就是一行.可以加上分号 1.4数字和表达式 加.减.乘.除.整除.求余.指数.取反(-例如-2**2,**的优先级比-大) from _ ...
- css查缺补漏1
css可以写在哪里 1.和要装饰的标签写在一起 2.内部样式表(内嵌式)是写在head头部标签中,并且用style标签定义 3.外部样式表(外链式) <head><link rel= ...
- luogu P1103 书本整理
题目描述 Frank是一个非常喜爱整洁的人.他有一大堆书和一个书架,想要把书放在书架上.书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上.但是Frank发现,由于很多书的宽度不同,所 ...