核心:

<a href='http://127.0.0.1:8000/index-%s'>%s<a>

自定义分页

1.前端处理字符

  后端的字符  return render(request,"index.html",{"l传到前端的数据":list})

  {{ 传到前端的数据 | safe}}

2.后端处理字符

  导入处理的模块 from django.utils.safestring import mark_safe
  mark_safe(需要处理的数据)
  再传递到前端。 以下是练习的代码:
前端:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#on_c{
background-color: blueviolet;
color: azure;
}
</style>
</head>
<body>
<div>
<ur>
{% for i in list_info %}
<li>
<a >{{ i }}</a>
</li>
{% endfor %}
</ur>
<div style="width: 360px">
{#方式一,前端处理#}
{#<a href="'http://127.0.0.1:8000/index-%s'">上一页</a>#}
<span>{{ d2_s | safe}}</span>
{% for i2 in d %}
<span>{{ i2| safe}}</span>
{% endfor %}
<span>{{ d3_x |safe}}</span>
{#方式二,后台处理数据#}
{#<span>{{ d }}</span>#}
</div>
</div>
</body>
</html>

url配置:

urlpatterns = [
path('admin/', admin.site.urls),
url('^index-(\d+)/', views.index),
]

views:

from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.utils.safestring import mark_safe list_info = []
for i in range(1,199):
list_info.append(i) def index(request,num1):
#将str转为int
num = int(num1) #每页显示多少数据
a = (num-1)*10
b = num*10
list_info2 = list_info[a:b] #分页长度,默认为10
e,f = divmod(len(list_info), 10)
if f !=0:
c = e+2
else:
c = e+1 #分页跳转
d=[]
for i in range(1,c):
if i == num:
d.append("<a id='on_c' href='http://127.0.0.1:8000/index-%s'>%s<a>"%(i,i))
else:
d.append("<a href='http://127.0.0.1:8000/index-%s'>%s<a>" % (i, i)) #分页 str 数据处理
#方式一,前端处理 #方式二,后端处理
# d2 = mark_safe(d) #选中页面分页 居中
if num > 5:
d2 = d[num-6:num+5]
elif num <= 5:
d2 = d[0:10] #上下翻页
if 1< num < len(d):
d2_s = "<a href='http://127.0.0.1:8000/index-%s'>上一页<a>" % (num-1)
d3_x = "<a href='http://127.0.0.1:8000/index-%s'>下一页<a>" % (num+1)
elif num==1:
d2_s = "<a href='http://127.0.0.1:8000/index-%s'>上一页<a>" % num
d3_x = "<a href='http://127.0.0.1:8000/index-%s'>下一页<a>" % (num + 1)
elif num==len(d):
d2_s = "<a href='http://127.0.0.1:8000/index-%s'>上一页<a>" % (num-1)
d3_x = "<a href='http://127.0.0.1:8000/index-%s'>下一页<a>" % num
#将数值传递至前端
return render(request,"index.html",{"list_info":list_info2,'d':d2,"d2_s":d2_s,"d3_x":d3_x})

Django学习手册 - 初识自定义分页的更多相关文章

  1. Django学习手册 - 初识django

    初识: django简介: 开放源代码的web应用框架 由python语言编写的. 一.框架基本概念(核心): 以上这个图就是 django 的核心逻辑图,必须熟记.后续的所有编程都跟这个图的逻辑息息 ...

  2. Django Cookie Session和自定义分页

    Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, ...

  3. Django学习手册 - 自定义分页函数

    前端代码: <div class="xianshi"> {% for i in info %} <ul> <li>{{ i }}</li& ...

  4. Django学习手册 - 自定义simple_tag / filter

    相关: Django的模板引擎提供一般性的功能函数,通过前端可以实现多数的代码逻辑功能,但它仅支持大多数常见情况下的函数功能,例如if判断,ifequal对比返回值等,复杂一些的函数功能并不支持,例如 ...

  5. django学习日志之自定义用户扩展

    django 为我们提供了强大的用户认证系统,并且提供了基于该系统的User模型,所以,很多时候,我们有必要对自己的user进行业务扩展,得到满足我们自己业务需求的user.借此,写下自己的感悟. u ...

  6. Django 学习笔记之七 实现分页

    接着上篇,在上篇的基础上实现网页数据分页显示 1.打开views.py,编辑如下 #coding:utf-8from django.shortcuts import render,get_object ...

  7. Django学习手册 - Form 插件

    """ 核心: from django import formsfrom django.forms import fieldsfrom django.forms impo ...

  8. django 学习手册 - ORM 报错集(随时更新)

    报错问题: 问题一:(1050代码) django.db.utils.InternalError: (1050, "Table 'app01_group' already exists&qu ...

  9. Django学习手册 - ORM数据类型

    DOM 字段/参数 配置格式: Module.字段(参数) 常用的字段归纳: 数字 models.AutoField() 自增列(int),必须设置为主键 models.IntegerField() ...

随机推荐

  1. BZOJ3786星系探索——非旋转treap(平衡树动态维护dfs序)

    题目描述 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球没有依赖星球. ...

  2. BZOJ2795&2890&3647[Poi2012]A Horrible Poem——hash

    题目描述 给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节.如果字符串B是字符串A的循环节,那么A可以由B重复若干次得到. 输入 第一行一个正整数n (n<= ...

  3. MT【233】染色正方形

    有$n$个正方形排成一行,今用红,白,黑三种颜色给这$n$个正方形染色,每个正方形只能染一种颜色.如果要求染白色的正方形必须是偶数个,问有多少种不同的染色方法. 解答:设有$a_n$种不同的染法,则$ ...

  4. 学习Spring Boot:(二十一)使用 EhCache 实现数据缓存

    前言 当多次查询数据库影响到系统性能的时候,可以考虑使用缓存,来解决数据访问新能的问题. SpringBoot 已经为我们提供了自动配置多个 CacheManager 的实现,只要去实现使用它就可以了 ...

  5. 【BZOJ2245】[SDOI2011]工作安排(费用流)

    [BZOJ2245][SDOI2011]工作安排(费用流) 题面 BZOJ 洛谷 题解 裸的费用流吧. 不需要拆点,只需要连边就好了,保证了\(W_j<W_{j+1}\). #include&l ...

  6. bzoj3672/luogu2305 购票 (运用点分治思想的树上cdq分治+斜率优化dp)

    我们都做过一道题(?)货币兑换,是用cdq分治来解决不单调的斜率优化 现在它放到了树上.. 总之先写下来dp方程,$f[i]=min\{f[j]+(dis[i]-dis[j])*p[i]+q[i]\} ...

  7. luogu1600 [NOIp2016]天天爱跑步 (tarjanLca+dfs)

    经过部分分的提示,我们可以把一条路径切成s到lca 和lca到t的链 这样就分为向上的链和向下的链,我们分开考虑: 向上:如果某一个链i可以对点x产生贡献,那么有deep[x]+w[x]=deep[S ...

  8. 【POJ2248】加法链 idfs

    首先,在这道题的搜索框架中,在对每一位进行枚举时,复杂度为\(O(n^2)\),但是可知最优解序列的长度不会太长. 其次,采用 \(bool\) 类型返回值时,是一种存在性搜索,并不一定能够得到最优解 ...

  9. max,min,Zip函数(十一)

    zip函数,拉链,传两个有序的参数,将他们一一对应为元祖形式 max,min比较默认比较一个元素,处理的是可迭代对象,相当于for循环取出每个元素进行比较,注意:不同类型之间不可比较 #!/usr/b ...

  10. Zookeeper客户端Curator---Getting Started

    先说个小插曲,前几天有个网站转载我的文章没有署名作者,我有点不开心就给他们留言了,然后今天一看他们把文章删了.其实我的意思并不是你允许转载,我想表达的是我的付出需要被尊重.也不知道是谁的错~ ==== ...