8、flask-Redirect重定向

news/2024/10/6 1:22:25/文章来源:https://www.cnblogs.com/littlecc/p/18288534
# 路由 + 视图函数from flask import Blueprint, request, render_template, jsonify, Response, redirect, url_for# from models import *#蓝图
# 创建蓝图对象
# 第一个参数:蓝图的名字
# 第二个参数:蓝图的包名
blue = Blueprint('user', __name__,)@blue.route('/') # 路由
def index():return 'user index'# 请求和响应# Request 对象 导入from flask import request
@blue.route('/request/', methods=['GET', 'POST'])
def get_request():pass# print(request)#重要属性#get请求  打印请求的参数或属性print(request.method)   #请求方法 GET或POST http://127.0.0.1:5000/request/# 请求参数 http://127.0.0.1:5000/request/?name=zhangsan&&name=lishi&age=18# 输出一个类字典对象:ImmutableMultiDict([('name', 'zhangsan'), ('name', 'lishi'), ('age', '18')])#ImmutableMultiDict:类字典对象、可以出现重复的keyprint(request.args)#参数取值print(request.args.get('name'))print(request.args.getlist('name'))# print(request.args.get['name'], request.args['age'])#post请求print(request.form) #打印post请求过来的参数print(request.form.get('name')) #取值#cookieprint(request.cookies)  # 打印cookie#不常用#获取请求的路径#请求:http://127.0.0.1:5000/request/?name=zhangsan&&name=lishi&age=18print(request.path)     # /request/print(request.url)      # http://127.0.0.1:5000/request/?name=zhangsan&&name=lishi&age=18print(request.full_path)    # /request/?name=zhangsan&&name=lishi&age=18print(request.base_url)     # http://127.0.0.1:5000/request/print(request.host_url)     # 127.0.0.1print(request.remote_addr)  # 127.0.0.1:5000,客户端的ip#请求头print(request.headers)  # 请求头print(request.files)    # 上传的文件print(request.user_agent)   # 用户代理、浏览器信息return 'get_request'#response响应
@blue.route('/response/')
def get_response():pass#响应的几种方式# 1. 返回字符串# return 'response'# 2.模板渲染(前后端不分离)# return render_template('index.html', name='zhangsan', age=18)# # 3.返回json数据(前后端分离)# data = {'name': 'zhangsan', 'age': 18}# # return data# return jsonify(data)    # 序列化、将字典转为字符串## 4. 自定义响应对象html = render_template('index.html', name='zhangsan', age=18)print(html, type(html))# res = make_response(html, 200)res = Response(html, 200)return res# 重定向
@blue.route('/redirect/')
def get_redirect():pass# 重定向的集中方式# 1. 重定向到网站# return redirect('https://www.baidu.com')# 2. 重定向到自身的路由# return redirect('/resonpse/')# #3. url_for('蓝图名称.视图函数名称') -》反向解析 根据函数名找到路由# # blue = Blueprint('user', __name__,)   这里user是蓝图的名称# ret = url_for('user.get_response')# print(ret)  #/response/# return redirect(ret)#或 直接传入参数ret2 = url_for('user.get_request', name='zhangsan', age=18)return redirect(ret2)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/739792.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Leetcode]经典算法

检测环 快慢指针法是一种用于检测链表中是否存在环的有效方法,同时也可以找到环的起点。该方法的原理基于两个指针在链表上同时移动,其中一个移动得更快,而另一个移动得更慢。检测环的存在:使用两个指针,一个称为快指针(fast),一个称为慢指针(slow)。 在每一步中,快…

关于import multiprocessing引用出错

关于import multiprocessing引用出错 0. 原因 当前文件名与python包体中关键词出现同名,导致循环引用 1. 排查过程 问题代码 import timefrom multiprocessing import Process, Queue # 这里提示错误def producer(queue):queue.put("a")time.sleep(2)def consumer(q…

进程信号

进程信号的产生,本质,进程信号的操作,进程信号的底层实现,以及阻塞信号,屏蔽信号1. 信号的产生 1.1 信号概念在生活中有很多的信号在我们身边围绕,例如红绿灯,发令枪,上课铃等等 在接受到信号,我们可以做出三种动作 1.立马去做对应信号的事情 2.等一会再做,有自己的…

24-暑假软件工程日报(7_7)

工作时间:7月7日 14:00-17:00 工作内容: 基本完成第二阶段大程序构建 代码:#include <cstring> #include <iostream> #include <list> #include <math.h> #include <queue> #include <stack> #include <stdio.h> #include <st…

[CISCN2019 华北赛区 Day2 Web1]Hack World

进入题目 输入数字1数字20对select 空格 union or 等等测试发现没有过滤select 空格也被过滤 注意不能单独测试用亦或运算 1^0为真 尝试0^if((ascii(substr((select(flag)from(flag)),1,1))=100),0,1) 回显正常根据回显判断正误 编写脚本爆破,由于该网站请求太快会报429,请求…

CubeMx的部分配置显示不出来

现象描述:CubeMx的部分配置显示不出来 处理方法:(1)继续进行其他配置,给工程起名字,并生成代码;(2)关闭CubeMx后再次打开

[CISCN2019 华东南赛区]Double Secret

进入题目由于请求不能过快,目录扫描工具失效可写脚本, 根据题目两个secret,猜测有serect目录 访问猜测还有一个secret参数随意输入发现源码泄露 注意到有flask,考虑python模板注入 注意到发现rc4加密 找师傅的加密脚本 import base64 from urllib.parse import quote def rc4…

[CISCN2019 华东南赛区]Web11

进入题目注意到xff 在url处随意输入目录xff随之变化 注意下放smarty是php模板 猜测xff为模板注入点 如下用if标签看到回显得到flag flag{6efda977-94fb-4d30-8668-fe28458ec2bf}

game1

进入题目发现是一个游戏发现有一个score.php的发包 发现有分数等 对比不同分数的包发现sign值都有ZM后疑似为base64于是将分数改为较高的分,ZM+base64 尝试要补一个=得到flag

[CISCN 2019 初赛]Love Math

进入题目,直接源码 代码审计、看师傅wp有黑名单字符过滤,有白名单函数过滤 于是用编码绕过,利用eval函数执行命令,system(cat /flag.txt) base_convert(a,b,c) //将数值a按b进制转换为c进制 dechex //将10进制转成16进制 hex2bin() //16进制转成字符串 base_convert(37907…

babyweb国赛华东北

进入题目目录扫描 扫出ssrf.php 发现url尝试用file协议访问/flag.txt拿到flag

人脸识别签到系统一站式开发【基于Pyqt5的CS架构软件】

人脸识别签到系统:课堂签到,上班打卡,进出门身份验证。 功能:人脸录入,打卡签到,声音提醒,打卡信息导出,打包exe文件人脸识别签到系统 1、运用场景 课堂签到,上班打卡,进出门身份验证。 2、功能架构 人脸录入,打卡签到,声音提醒,打卡信息导出:3、技术栈 python3.8…