Django学习手册 - 初识自定义分页
核心:
<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学习手册 - 初识自定义分页的更多相关文章
- Django学习手册 - 初识django
初识: django简介: 开放源代码的web应用框架 由python语言编写的. 一.框架基本概念(核心): 以上这个图就是 django 的核心逻辑图,必须熟记.后续的所有编程都跟这个图的逻辑息息 ...
- Django Cookie Session和自定义分页
Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, ...
- Django学习手册 - 自定义分页函数
前端代码: <div class="xianshi"> {% for i in info %} <ul> <li>{{ i }}</li& ...
- Django学习手册 - 自定义simple_tag / filter
相关: Django的模板引擎提供一般性的功能函数,通过前端可以实现多数的代码逻辑功能,但它仅支持大多数常见情况下的函数功能,例如if判断,ifequal对比返回值等,复杂一些的函数功能并不支持,例如 ...
- django学习日志之自定义用户扩展
django 为我们提供了强大的用户认证系统,并且提供了基于该系统的User模型,所以,很多时候,我们有必要对自己的user进行业务扩展,得到满足我们自己业务需求的user.借此,写下自己的感悟. u ...
- Django 学习笔记之七 实现分页
接着上篇,在上篇的基础上实现网页数据分页显示 1.打开views.py,编辑如下 #coding:utf-8from django.shortcuts import render,get_object ...
- Django学习手册 - Form 插件
""" 核心: from django import formsfrom django.forms import fieldsfrom django.forms impo ...
- django 学习手册 - ORM 报错集(随时更新)
报错问题: 问题一:(1050代码) django.db.utils.InternalError: (1050, "Table 'app01_group' already exists&qu ...
- Django学习手册 - ORM数据类型
DOM 字段/参数 配置格式: Module.字段(参数) 常用的字段归纳: 数字 models.AutoField() 自增列(int),必须设置为主键 models.IntegerField() ...
随机推荐
- Partition Numbers的计算
partition numbers的定义 A000041 就是将正整数n分为k(\(1\le k\le n)\)个正整数相加,即\(n=a_1+a_2+...+a_k\)且\(a_1\le a_2\l ...
- bzoj4817/luogu3703 树点涂色 (LCT+dfs序+线段树)
我们发现,这个染色的操作他就很像LCT中access的操作(为什么??),然后就自然而然地想到,其实一个某条路径上的颜色数量,就是我们做一个只有access操作的LCT,这条路径经过的splay的数量 ...
- Mysql distinct、group by
具体业务场景:根据某些字段组合去重得到所有字段结果. 遇到的error:sql_mode=only_full_group_by. 原因是mysql配置问题. distinct: distinct这个关 ...
- happens-before
happens-before是JMM最核心的概念.对应Java程序员来说,理解happens-before是理解JMM的关键. JMM的设计 首先,让我们来看JMM的设计意图.从JMM设计者的角度,在 ...
- UVALive - 6439(思维题)
题目链接:https://vjudge.net/contest/241341#problem/F 题目大意:给你一个字符串,你可以用任意单个字符代替其中的一个子串,使它形成一个回文串,要求形成的回文串 ...
- 深入理解JVM结构
JVM结构探究---- 1.JVM结构示意图 2.JVM运行时数据区 1)程序计数器(Program Counter Register) 程序计数器是用于存储每个线程下一步将执行的JVM指令,如该方法 ...
- python(五)——运算符
1.成员运算符,判断某个东西是否在某个东西里包含:in,not in name = "abcd" if "ac" in name: print("ok ...
- max,min,Zip函数(十一)
zip函数,拉链,传两个有序的参数,将他们一一对应为元祖形式 max,min比较默认比较一个元素,处理的是可迭代对象,相当于for循环取出每个元素进行比较,注意:不同类型之间不可比较 #!/usr/b ...
- ReactNative组件之scrollView实现轮播
想要实现轮播效果,首先安装时间定时器 接下来就是在我们的项目中使用定时器 接下来我们将竖着的轮播图变成横着的 接下来我们调整间距 我们知道轮播图下方,还有5个圆点,那我们怎么做呢? 拿到每一个圆点 看 ...
- Django xadmin引入DjangoUeditor
Django xadmin引入DjangoUeditor 版本:python3.6.1,Django1.11.1 DjangoUeditor下载地址:https://github.com/twz915 ...