zoukankan      html  css  js  c++  java
  • 路由和HTTP方法

    from flask import Flask
    app = Flask(__name__)
    # 
    # 路由用法
    # 
    @app.route('/')
    def hello_world():
        # 这种方法再不传参的情况下可以使用,一般用在首页
        # 导航栏:http://127.0.0.1:5000
        return 'hello world!!!'
    
    @app.route('/hello')
    def hello_world1():
        # 导航栏访问:http://127.0.0.1:5000/hello
        return 'hello world!!!'
    
    @app.route('/hello/<name>')
    def hello_world2(name):
        # 这里可以传递一个参数
        # 导航栏访问:http://127.0.0.1:5000/hello/namejr
        return '{}, hello'.format(name)
    
    @app.route('/hello/<int:num>')
    def hello(num):
        # 可以指定参数的类型
        # 导航栏访问:http://127.0.0.1:5000/hello/88
        # 除了可以指定int(整形)之外,还可以指定:string(字符串,但值得注意的是不能够包含'/')、float(浮点型)、path(路径,与string的区别是这里可以包含'/')、uuid(uuid的字符串)
        # UUID是一种唯一识别码,其目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。(来源百度百科)
        return '{} is a number'.format(num)

     关于url_for:

    from flask import Flask, url_for
    app = Flask(__name__)
    # 
    # 关于url_for
    # url_for用来可以直接获取对应函数名的路由路径
    # 这样的好处就是不管你如何更改路径,只要函数名没有改变,使用url_for都能够直接的获取对应的路径
    # 
    @app.route('/')
    def index():
        return url_for('hello')  # 打印"/hello"
    
    @app.route('/hello')
    def hello():
        return "hello True"
    
    if __name__ == '__main__':
        app.debug = True
        app.run()

    我们可以使用test_request_content(test_request_content是一个用服务器来模拟用户发送请求的函数,实际上并没有用户发送数据)来测试一下

    from flask import Flask, url_for
    app = Flask(__name__)
    # 
    # 关于url_for
    # url_for用来可以直接获取对应函数名的路由路径
    # 这样的好处就是不管你如何更改路径,只要函数名没有改变,使用url_for都能够直接的获取对应的路径
    # 
    @app.route('/')
    def index():
        return url_for('hello')  # 打印"/hello"
    
    @app.route('/hello/')
    def hello():
        return "hello True"
    
    # 构建模拟情景
    with app.test_request_context():
        print(url_for('index'))  # 打印"/"
        print(url_for('hello'))  # 打印"/hello/"
    
    if __name__ == '__main__':
        app.debug = True
        app.run()

    顺带一提:在编写路由的时候,你可以写成"@app.route('/hello/')",当然也可以写成"@app.route('/hello')",但是我最终建议还是写成前者,如果你访问的是"http://127.0.0.1:5000/hello",那么都可以访问,但是如果访问的是"http://127.0.0.1:5000/hello/"那么后者将会报出404("Not Found")错误,不信你试试,反正我试过了

    PS:路由,不就是装饰器嘛

    HTTP

  • 相关阅读:
    yii2.0 composer安装
    php composer包管理器
    Eclipse-selenium环境搭建
    JMeter-分布式
    Jmeter-接口压力测试
    Jmeter-操作Mysql
    Jmeter参数化-关联参数
    Jmeter参数化-从文件中读取参数(CSV Data Set Config)
    Jmeter参数化-用户参数
    Jmeter-文件上传
  • 原文地址:https://www.cnblogs.com/namejr/p/10290004.html
Copyright © 2011-2022 走看看