用flask实现的添加后保留原url搜索条件
1、具体实现
#!usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask,render_template,request,redirect
from pager import Pagination
from urllib.parse import urlencode
app = Flask(__name__) @app.route('/pager')
def pager():
li = []
for i in range(1,100):
li.append(i)
# print(li)
pager_obj = Pagination(request.args.get("page",1),len(li),request.path,request.args,per_page_count=10)
# print(request.args)
index_list = li[pager_obj.start:pager_obj.end]
html = pager_obj.page_html() # ===============保留当前的跳转路径的条件=============
get_dict = request.args.to_dict() # {'page': '2', 'name': '9'}
path = urlencode(get_dict) # 转化成urlencode格式的
get_dict["_list_filter"] = path
path = urlencode(get_dict) # 转化成urlencode格式的 print(path) # page=5&aaa=1&_list_filter=page%3D5%26aaa%3D1
print(get_dict) # {'page': '10', '_list_filter': 'page=10'}
return render_template("pager.html",index_list=index_list, html = html,condition=path) @app.route('/add',methods=["GET","POST"])
def add():
if request.method =="GET":
return render_template("add.html")
else:
url = request.args.get("_list_filter")
# print(url)
return redirect("/pager?%s"%url)
if __name__ == '__main__':
app.run(debug=True)
2、pager.html
<a href="/add?{{ condition }}"><button class="btn btn-primary">添加</button></a>
3、add.html
<form action="" method="post">
<input type="text">
<input type="submit" value="提交">
</form>
用flask实现的添加后保留原url搜索条件的更多相关文章
- 4、flask之分页插件的使用、添加后保留原url搜索条件、单例模式
本篇导航: flask实现分页 添加后保留原url搜索条件 单例模式 一.flask实现分页 1.django项目中写过的分页组件 from urllib.parse import urlencode ...
- flask之分页插件的使用、添加后保留原url搜索条件、单例模式
本篇导航: flask实现分页 添加后保留原url搜索条件 单例模式 一.flask实现分页 1.django项目中写过的分页组件 from urllib.parse import urlencode ...
- 编辑后保留原URl搜索条件
首先需要知道的一个知识点: 1.request.GET是一个QueryDict类型的,要想取出?后面的结构就用request.GET.urlencode() 2.request.GET默认是不可修改的 ...
- python 全栈开发,Day115(urlencode,批量操作,快速搜索,保留原搜索条件,自定义分页,拆分代码)
今日内容前戏 静态字段和字段 先来看下面一段代码 class Foo: x = 1 # 类变量.静态字段.静态属性 def __init__(self): y = 6 # 实例变量.字段.对象属性 # ...
- 刨根问底U3D---如何退出Play模式后保留数据更改
实际中遇到的需求 在做一款对抗类游戏,目前正在调整游戏的平衡性 所以就产生了一个需求 希望可以在Play模式时候对数据源做的更改可以在退出时候被保存下来. 举个Case, 比如 有一个炮塔 可以发射子 ...
- 在Office 365 添加就地保留用户邮箱
基于客户需求,要求将用户批量添加到Office 365中的现有就地保留.如您所了解的,我们可以通过Exchange在线图形用户GUI界面完成,也可以通过PowerShell完成. 要将用户批量添加到O ...
- 重装系统后配置原有的mysql
1.重装系统后配置原有的mysql 2.修改 my.ini [修改 basedir:MySQL当前所在路径 datadir 数据存放路径] [mysqld] # 设置3306端口 port= # 设 ...
- git使用命令行保留原分支迁移代码仓库
有些时候我们需要对git仓库中的项目进行一些迁移,如从a账号迁移到b账号下,从github平台迁移到内部的gitlab平台等.一般平台会自带 migrate 或者 import 的功能,可以很方便的进 ...
- C# 版本的 计时器类:精确到微秒 秒后保留一位小数 支持年月日时分秒带单位的输出
class TimeCount { // 临时变量,存放当前类能表示的最大年份值 ; /// <summary> /// 获取毫秒能表示的最大年份数 /// </summary> ...
随机推荐
- Spring所有子项目
官网地址 https://spring.io/projects 包含子项目 Spring IO Platform Spring Boot Spring Framework Spring Cloud D ...
- MySQL去重案列(待更新...)
谈谈distinct 查询单个字段,没问题! SELECT DISTINCT username FROM t_user 但是我想加入id字段,这样写,报错! SELECT id, DISTINCT u ...
- apk逆向实例 TopCtf
TopCtf 题目链接: https://pan.baidu.com/s/1jINx7Fo (在里面找相应的名字就行) 背景故事: 我是小白一枚,自学一些基础知识... 从朋友那得到的题,朋友说巨 ...
- C# 事务 四种事务隔离级别
http://www.zsythink.net/archives/1233 不同隔离级别的问题 脏读(Dirty Read) 一个事务处理过程里读取了另一个未提交的事务中的数据 例子: 当一个事务 ...
- go byte 和 string 类型之间转换
string 不能直接和byte数组转换 string可以和byte的切片转换 1,string 转为[]byte var str string = "test" var data ...
- 查询tensorflow中的函数用法
一下均在ubuntu环境下: (1)方法一,使用help()函数: 比如对于tf.placeholder(),在命令行中输入import tensorflow as tf , help(tf.plac ...
- FAT文件系统规范v1.03学习笔记---1.保留区之启动扇区与BPB
1.前言 本文主要是对Microsoft Extensible Firmware Initiative FAT32 File System Specification中文翻译版的学习笔记. 每个FAT ...
- MySQL用户授权【转】
MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant selec ...
- sudo su 和 sudo -s【转】
sudo su 和 sudo -s 都是切换到root用户,不同的是 sudo su 环境用的是目标用户 (root)的环境 sudo -s 环境用的是当前用户本身的环境 转自 sudo su 和 s ...
- 使用Let's Encrypt为网站加入SSL证书
一直没有为网站配置过HTTPS,因为怕麻烦.不过这次工作要求,没有办法,只能硬着头皮上了. 老板提供了一个关键字,Let's Encrypt.其实最早看到这句话,我以为是一个动词,让我行动的意思.但是 ...