您当前的位置: 首页 >  flask
  • 4浏览

    0关注

    214博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Flask(2):Flask的路由

不愿透露姓名の网友 发布时间:2019-10-15 20:11:56 ,浏览量:4

文章目录
  • 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)
关注
打赏
1657102503
查看更多评论
立即登录/注册

微信扫码登录

0.0503s