python flask 定义302状态和重定向

简介: python flask 定义302状态和重定向

首先,我们来讨论下什么叫重定向,什么又叫临时重定向(302),什么又叫永久重定向(301)


重定向:我们在浏览器上输入网址的时候,浏览器解析我们的网址,并且跳转到这个网址里,重定向就是,在浏览器跳转到这个页面后,因为设置了重定向,所以,我们的链接是我们输入的链接,但是,页面就变成了重新指向的链接的页面.


临时重定向:我们输入的链接还在使用,然后在当前在重新指向一个新的链接


永久重定向:我们输入的链接已经没有在使用了,然后在当前在重新指向一个新的链接


永久和临时的区别是:如果永久的重定向时,浏览器就不会记录我们输入的链接,而是记录我们重定向的链接,因为浏览器认为我们输入的链接不能使用了,如果是临时重定向时,浏览器会记录我们输入的链接,而不会记录我们重定向的链接,因为浏览器在状态码是302时会认为我们输入的链接还能使用。


使用场景:假设我们某个页面需要登陆才能访问,如果用户没有登陆的时候我们给他跳转到登陆页面,我们可以在代码上判断用户是不是登陆(比如验证token),如果用户没有登陆的时候,就给他重定向到登陆页面


下面,我们看下如何在代码层面上实现重定向吧,


from flask import Flask, render_template_string, abort, render_template, redirect
app=Flask(__name__)  #实例
@app.route("/user")
def hi():
    """运行代码"""
    return redirect("https://blog.csdn.net/m0_58002043?spm=1018.2226.3001.5343")   #redirect需要inport引包,这里我给他重定向我的csdn主页
if __name__=="__main__":
    app.run()


我们还可以设置重定向到其他的视图


from flask import Flask, render_template_string, abort, render_template, redirect, url_for
app=Flask(__name__)  #实例
@app.route("/user")
def a():
    """运行代码"""
    return redirect(url_for("hi"))   #redirect和url_for需要inport引包,这里我给他重定向到我下面代码创建的试图函数,括号里的hi是函数名称,而不是设置的url地址
@app.route("/h")
def hi():
    """运行代码"""
    return("我时被跳转的页面")
if __name__=="__main__":
    app.run()


同时我们可以在flaks定义是临时重定向和永久重定向


from flask import Flask, render_template_string, abort, render_template, redirect, url_for
app=Flask(__name__)  #实例
@app.route("/user")
def a():
    """运行代码"""
    return redirect(url_for("hi"),code=301)   #redirect和url_for需要inport引包,这里我给他重定向到我下面代码创建的试图函数,括号里的hi是函数名称,而不是设置的url地址
                                                #code这个函数是定义我们返回的状态码,我们设置301或着302就能设置是永久还是临时的重定向啦
@app.route("/h")
def hi():
    """运行代码"""
    return("我时被跳转的页面")
if __name__=="__main__":
    app.run()
相关文章
|
6月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
650 77
|
10月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
669 86
|
传感器 物联网 机器人
定义微Python
MicroPython 是一种精简高效的 Python 解释器,专为微控制器和嵌入式系统设计,支持通过 Python 代码进行快速开发和调试。它具有低资源消耗的特点,适用于物联网设备。
246 62
|
11月前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
130 9
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
277 2
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
529 2
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
697 2

推荐镜像

更多
下一篇
oss云网关配置