您当前的位置: 首页 >  flask

Flask(2):Flask的路由

发布时间:2019-10-15 20:11:56 ,浏览量:8

文章目录

  • 1.写路由的注意点
  • 2.flask写路由的两种方式
  • 3.反向获取url
  • 4.路由传参
  • 5.路由的跳转

1.写路由的注意点

  • url应该以/ 开头
  • url写法 标准的是/ url /
  • 视图函数不能重名
  • 习惯: 将视图函数的名字命名为 路由的名字

2.flask写路由的两种方式

方式一:装饰器法

@app.route('/index') def index(): return 'hello world' 

方法二:在外边实现源码的方法

查看route的源码,发现实际就是往路由方法里添加参数

def hello(): return 'hello' app.add_url_rule(rule='/hello', view_func=hello) 

3.反向获取url

  • 问题:当我们想在py文件中的函数内获取url的值
  • 解决:导入url_for模块,在route中通过endpoint给url起别名,通过模块url_for来获取
from flask import Flask, url_for

app = Flask(__name__) # endpoint相当于给url起了别名,通过模块url_for来获取 @app.route('/index',endpoint='name1') def index(): print(url_for('name1')) print(url_for('name2')) return 'hello world' @app.route('/login',endpoint='name2') def login(): return 'hello world' if __name__ == '__main__': app.run(debug=True) 

一运行index页面,显示结果

4.路由传参

<>叫转换器语法 默认为string类型

string 默认类型
int 整形
float 浮点型
path 包含斜杠的路径,通常用于路径的拼接
uuid 通用唯一识别码

①举例----默认传入字符串

②举例----改变默认传入的类型

③举例----传入path

④举例----传入uuid

5.路由的跳转

问题:比如我们以前开发了一个网站,网址是index,但是现在更新了,网址变为new_index,那么我们如何让以前的老用户输入原来的网址index,却进入我们的新的new_index页面呢?

from flask import Flask

app = Flask(__name__) @app.route('/index/',redirect_to='/new_index/') def index(): return '老页面' @app.route('/new_index/') def login(): return '新页面' if __name__ == '__main__': app.run(debug=True) 
关注
打赏
查看更多评论

暂无认证

  • 8浏览

    0关注

    115983博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录