美文网首页程序员Python
Flask框架从入门到精通之路由(三)

Flask框架从入门到精通之路由(三)

作者: 小_源 | 来源:发表于2019-04-19 16:49 被阅读2次

    知识点:

    1、路由

    2、重定向

    3、请求方式

    4、PostMan使用

    一、概况

    说到路由,其实就是我们在浏览器输入地址后,后台进行匹配,如果匹配上,则执行此视图函数并返回内容。我们经过前面的例子也看出来Flask是用一个叫route()的装饰器进行装饰到视图函数上。
    匹配的内容是去掉域名和端口后面地址,比如:http://127.0.0.1:8000/index这个地址,去掉域名和端口后就剩下/index这部分内容,所有我们只要装饰/index就可以了。

    二、路由

    我们来写一个首页视图和个人中心视图,并用路由装饰上。
    提示:如果你没有设置DEBUG = True,请重新运行服务器
    如下:

    from flask import Flask
    
    app = Flask(__name__)
    
    
    @app.route('/')  # 代表首页
    def index():  # 视图函数
        return 'my index !'  # 返回内容
    
    
    @app.route('/center')  # 代表个人中心页
    def center():  # 视图函数
        return 'my flask!'  # 返回内容
    
    
    if __name__ == '__main__':
        # 0.0.0.0代表任何能代表这台机器的地址都可以访问
        app.run(host='0.0.0.0', port=5000)  # 运行程序
    
    

    我们在浏览器上输入```http://127.0.0.1:5000/``,返回的内容是:


    我们在浏览器上输入http://127.0.0.1:5000/center,返回的内容是:

    三、重定向

    重定向是网站比较常用的地址跳转,比如我们在网站登录后,需要重新跳转到首页,这个功能我们就可以用到重定向。在Flask中重定向需要用到下面模块:

    from flask import redirect, url_for
    

    redirect函数用于重定向。
    url_for参数是视图函数函数的名字,它会根据视图函数的名字找到装饰次视图的路由。

    from flask import Flask
    from flask import abort, redirect, url_for
    
    app = Flask(__name__)
    
    
    @app.route('/')  # 代表首页
    def index():  # 视图函数
        return 'my index !'  # 返回内容
    
    
    @app.route('/center')  # 代表个人中心页
    def center():  # 视图函数
        return 'my flask!'  # 返回内容
    
    
    @app.route('/login')  # 代表登录
    def login():  # 视图函数
    
        return redirect(url_for('index'))
    
    
    if __name__ == '__main__':
        # 0.0.0.0代表任何能代表这台机器的地址都可以访问
        app.run(host='0.0.0.0', port=5000)  # 运行程序
    
    

    我们在浏览器输入http://127.0.0.1:5000/login会发现重定向到了首页。在浏览器检查我们也可以看到:

    四、请求方式

    我们知道HTTP有很多的请求方式,每中请求方式都代表不同的意思。常用的请求方式有:

    请求方式 含义
    GET 获取资源
    POST 新增资源
    PUSH 更新资源
    DELETE 删除资源
    OPTIONS 询问支持的方法

    我们登录功能都会采用POST方式做,我们现在的登录视图是GET请求,那么我们把登录视图改成支持POST

    @app.route('/login',methods=['POST'])  # 代表登录
    

    这个时候我在浏览器再访问一下:


    这个错误的意思就是请求方式不允许,因为在浏览器地址输入的这种请求方式是GET请求。不过我们可以借用PostMan这样的工具模拟POST请求。
    在这里插入图片描述
    还是可以看出来,它返回的是重定向到首页的内容。

    欢迎关注我的公众号:

    image

    相关文章

      网友评论

        本文标题:Flask框架从入门到精通之路由(三)

        本文链接:https://www.haomeiwen.com/subject/qfrcgqtx.html