zoukankan      html  css  js  c++  java
  • 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的效果一样,这就是它的作用!

  • 相关阅读:
    js实现base64转换
    使用maven命令终端构建一个web项目及发布该项目
    使用eclipse构建Maven项目及发布一个Maven项目
    Maven在Windows上的安装与配置
    centos7下安装配置redis3.0.4
    Centos7下完美安装并配置mysql5.6
    linux常用命令总结
    VMware下centos桥接模式静态ip配置
    解决centos7下tomcat启动正常,无法访问项目的问题
    centos7系统下安装配置jdk、tomcat教程
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700692.html
Copyright © 2011-2022 走看看