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()
相关文章
|
7天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
1月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第6天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先简述了API的重要性及RESTful API的设计理念,接着详细说明了Flask框架的基础知识、环境准备、创建基本应用、定义资源和路由、请求与响应处理以及错误处理等内容。通过具体示例,展示了如何实现常见的HTTP方法,如GET、POST、PUT和DELETE,以操作“图书”资源。最后,提供了运行和测试API的方法,总结了Flask在构建API方面的优势。
36 3
|
11天前
|
传感器 物联网 机器人
定义微Python
MicroPython 是一种精简高效的 Python 解释器,专为微控制器和嵌入式系统设计,支持通过 Python 代码进行快速开发和调试。它具有低资源消耗的特点,适用于物联网设备。
92 62
|
9天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
30 2
|
18天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
25 2
|
20天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
28 1
|
20天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
27 1
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
24 4
|
1月前
|
JSON API 数据格式
使用Python和Flask构建简单的RESTful API
【10月更文挑战第12天】使用Python和Flask构建简单的RESTful API
43 1
|
1月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第12天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先概述了API的重要性及RESTful API的基本概念,接着详细讲解了Flask框架的特性和安装方法。通过创建一个基本的Flask应用,定义了处理“图书”资源的GET、POST、PUT和DELETE方法的路由,展示了如何处理请求和响应,以及如何进行错误处理。最后,提供了运行和测试API的方法,总结了Flask在构建RESTful API方面的优势。
32 1