• Flask 入门(四)


    url反转

    当我学习到url反转的时候,看了一个人写的例子,如下:

    from flask import Flask,url_for
    app = Flask(__name__)
     
    @app.route('/')
    def index():
        print url_for('my_list')
        print url_for('article',id='abc')
        return 'Hello World!'


    @app.route('/list/')
    def my_list():
        return 'list'


    @app.route('/article/<id>/')
    def article(id):
        return u'您请求的参数是:%s'%id
     
    if __name__ == '__main__':
        app.run(debug=True)

    看完后,我想,有什么用哪?,那两个print(url_for(......))语句,起到了什么作用?,它也没和我想的一样,打印出那两个函数的地址来啊,那写它干什么?

    其实,url_for函数实现了视图函数到URL路径的转换,而且服务器经常利用这个路径实现视图函数的重定向,没听懂是吧,通俗的讲,就是,如果你想调用某个函数的时候,不必须使用路由函数,因为它的名字可能很长,也可以使用url_for(函数名)直接使用它,更方便的是它可以结合重定向函数redirect(路径)访问其它页面,例如:redirect(url_for('login')),注意,login是个函数名,它里面封装了进入登录页面的功能。废话少说,上代码:

    首先,编辑index.py里面的代码:

    from flask import Flask,url_for,redirect

    app = Flask(__name__)

    @app.route('/')

    def index():

        return '欢迎学习url 反转'

    @app.route('/path')

    def path():

        return 'welcome to the path'

    @app.route('/get_path/')

    def get_path():

        return url_for('path')

    @app.route('/go_path/')

    def go_path():

        return redirect(url_for('path'))

    if __name__ == '__main__':

        app.run(debug=True)

    然后运行浏览器,

    输入127.0.0.1:5000测试如下:

    输入127.0.0.1:5000/get_path/测试如下:

    输入127.0.0.1:5000/go_path测试如下:

    相信聪明的你已经看出什么猫腻了吧,没错,它和127.0.0.1:5000:/path的效果一样,这就是它的作用!

  • 相关阅读:
    php判断token有效期
    ecshop数据库操作
    CSS3选择器 :nth-child(n) 如何理解
    socket_wirte、socket_read、socket_send、socket_recv
    Mysql按指定顺序排序的两种写法
    Photoshop图片优化文件大小
    Wordpress中的自定义栏目是什么玩意,有什么用?
    Windows使用压缩包安装Mysql5.7.17服务
    Discuz论坛搬家后出现 Unknown column 'app1' in 'where clause' 原因及解决办法
    .PHP后缀大写导致Linux下Composer找不到类
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700692.html
Copyright © 2020-2023  润新知