码迷,mamicode.com
首页 > 其他好文 > 详细

Flask实战第5天:页面跳转和重定向

时间:2019-01-17 12:54:26      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:ret   方式   import   在服务器   style   lse   app   request   情况下   

GETPOST请求

在网络请求中有许多请求方式,比如GET, POST, DELETE, PUT等,最常用的就是GET和POST

GET

  只会在服务器上获取资源,不会更改服务器的状态,这种请求方式推荐使用GET
  GET请求把参数放到url中,通过’?xx=xxx‘的形式传递

POST

  给服务器提交一些数据或者文件,一般POST请求是会对服务器的状态产生影响
  POST请求把参数放到Form Data中 

flaskroute中默认使用的是get方法,用method参数来指定某个url能够使用的方法

@app.route(/list/,methods=[get,post])

def my_list():

    return "mylist"

永久重定向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来实现永久重定向

#coding=utf-8

from flask import Flask,url_for,request,redirect
from werkzeug.routing import BaseConverter

app=Flask(__name__)


@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
if __name__==__main__:

2019-01-1711:58:20

 

Flask实战第5天:页面跳转和重定向

标签:ret   方式   import   在服务器   style   lse   app   request   情况下   

原文地址:https://www.cnblogs.com/xinbaby2358/p/10281240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!