资讯专栏INFORMATION COLUMN

2.反转函数url_for与重定向redirect

BingqiChen / 1296人阅读

摘要:在中,我们导入和两个函数。则更简单,功能就是跳转到指定的,大部分情况下,我们都是和一起使用的,例如在这个视图函数中,如果传入的参数是即请求的网址是,则返回,其他情况则重定向到这个视图函数对应的网址。

在flask中,我们导入url_forredirect两个函数。

from flask import Flask, url_for, redirect   

首先看url_for,简单来说,这个函数接受视图函数的名字(字符串形式)作为参数,返回视图函数对应的url,例如:

@app.route("/")
def hello_world():
    print(url_for("index"))
    return "Hello World"

@app.route("/index/")
def index():
    return "index"

hello_world函数中使用print(url_for("index")),将会打印出/index/
有传参的视图函数怎么办?同样将函数名字符串作为第一个参数,将参数以key=value的形式写在后面,如:

@app.route("/")
def hello_world():
    print(url_for("hello",name="harp"))
    return "Hello World"

@app.route("//")
def hello(name):
    return "Hello %s" % name

打印结果为/harp/


redirect则更简单,功能就是跳转到指定的url,大部分情况下,我们都是和url_for一起使用的,例如:

@app.route("/")
def hello_world():
    return "Hello World"


@app.route("//")
def hello(name):
    if name == "Harp":
        return "Hello %s" % name
    else:
        return redirect(url_for("hello_world"))

hello这个视图函数中,如果url传入的参数是Harp(即请求的网址是http://127.0.0.1:5000/Harp/),则返回"Hello Harp",其他情况则重定向到hello_world这个视图函数对应的网址"/"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41216.html

相关文章

  • flask文档学习笔记1-快速入门

    摘要:示例如下静态路由使用动态变量的路由未指定变量类型使用动态变量的路由指定变量类型指定的路由变量,可以作为被装饰的函数参数传入进来。 开始决定认真的在网上写一些东西,主要原因还是在于希望能提升学习效果。虽说python写了有几年,但是web后端框架的确没怎么接触过,买了本狗书寥寥草草的过了一遍,发现很多东西还是理解不深,真的是好记性不如烂笔头,知识也要从基础开始,退回来好好看看官方文档,再...

    lingdududu 评论0 收藏0
  • flask基础之一

    摘要:最经典的就是了暂时性重定向的状态码是,表示页面暂时性被跳转,比如访问一个需要权限的网址,如果当前用户没有登录,应该重定向到登录页面。作为额外的消息头如果以上的条件都不满足,会假设返回值是一个合法的应用程序,并通过转换成一个请求对象。 flask基础之一 hello world #从flask这个包中导入Flask这个类 #Flask这个类是项目的核心,以后的很多操作都是基于这个类的对象...

    archieyang 评论0 收藏0
  • flask基础之一

    摘要:最经典的就是了暂时性重定向的状态码是,表示页面暂时性被跳转,比如访问一个需要权限的网址,如果当前用户没有登录,应该重定向到登录页面。作为额外的消息头如果以上的条件都不满足,会假设返回值是一个合法的应用程序,并通过转换成一个请求对象。 flask基础之一 hello world #从flask这个包中导入Flask这个类 #Flask这个类是项目的核心,以后的很多操作都是基于这个类的对象...

    fevin 评论0 收藏0
  • flask基础之一

    摘要:最经典的就是了暂时性重定向的状态码是,表示页面暂时性被跳转,比如访问一个需要权限的网址,如果当前用户没有登录,应该重定向到登录页面。作为额外的消息头如果以上的条件都不满足,会假设返回值是一个合法的应用程序,并通过转换成一个请求对象。 flask基础之一 hello world #从flask这个包中导入Flask这个类 #Flask这个类是项目的核心,以后的很多操作都是基于这个类的对象...

    AWang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<