5、Flask实战第5天:页面跳转和重定向
GET和POST请求
在网络请求中有许多请求方式,比如GET, POST, DELETE, PUT等,最常用的就是GET和POST
GET
只会在服务器上获取资源,不会更改服务器的状态,这种请求方式推荐使用GET
GET请求把参数放到url中,通过’?xx=xxx‘的形式传递
POST
给服务器提交一些数据或者文件,一般POST请求是会对服务器的状态产生影响
POST请求把参数放到Form Data中
在flask的route中默认使用的是get方法,用method参数来指定某个url能够使用的方法
@app.route('/list/', methods=['get', 'post']) def my_list(): return 'list'
永久重定向301
http的状态码是301,多用于旧网址被废弃了要转到一个新的网址确保用户的访问,比如京东的网站,你输入www.jingdong.com的时候,会被重定向到www.jd.com,因为jingdong.com这个网址已经被废弃了,被改成了jd.com,所以这种情况下应该使用永久重定向
临时重定向302
http的状态码是302,表示页面的临时性跳转。比如访问一个需要权限的网址,如果用户没有登录,应该重定向到登录页面,这种情况下,应该用临时重定向
在flask中,重定向是通过flask.redict(location, code=302)函数来实现的
location表示需要重定向到的URL,应该配合url_for()函数来使用
code表示采用哪种重定向,默认是302(临时重定向),也可以改成301来实现永久重定向
from flask import Flask, url_for, request, redirect ... @app.route('/login/', methods=['GET', 'POST']) def login(): return 'login page' @app.route('/profile/', methods=['GET', 'POST']) def profile(): name = request.args.get('name') if not name: return redirect(url_for('login')) else: return name
每天进步一点,加油!