美文网首页
Flask Web 笔记(二)- 基本概念

Flask Web 笔记(二)- 基本概念

作者: oooooliver | 来源:发表于2017-11-28 21:29 被阅读0次

    基本概念

    初始化

    需要给构造函数传包的名字,此参数是用于决定程序根目录的资源文件的位置。

    from flask import Flask 
    app = Flask(__ name__)
    

    路由和视图

     @app.route('/')
     def index():
         return '<h1>hello,world</h1>'
    

    路由的动态部分:

    • /user/<name>

      @app. route('/user/< name>') 
      def user( name): 
          return '<h1> Hello, %s!</ h1>' % name
      
    • /user/<int:id> 不符合的url会not found

    • float

    • path
      如果访问地址是 127.0.0.0:5000/https://www.baidu.com,可以匹配地址。
      name会是https://www.baidu.com

      @app. route('/user/<path:name>') 
      def user( name): 
          return '<h1> Hello, %s!</h1>' % name
      

    启动服务器

     if __name__ == '__main__': 
        app.run(debug=True)
    

    获取请求对象 request

    request 封装了http请求
    Flask 使用上下文临时把某些对象变为全局可访问。

    • 请求上下文: request, session(可以存请求的值)
       from flask import request 
       @app. route('/') 
       def index(): 
           user_ agent = request.headers.get('User-Agent') 
           return '<p> Your browser is %s</p>' % user_agent
      
    • 程序上下文: current_app, g(每次请求重设)

    URL Map

    • app.url_map: 能获取路由映射
    • 其中会有/static/<filename>,用于访问静态文件

    请求的钩子:Flask提供的通用函数

    • before_first_request
    • before_request
    • after_request
    • teardown_request

    Response

    • 200, 请求被成功处理
    • 400, 请求无效
      @app. route('/') def index(): 
           return '<h1> Bad Request</h1>', 400
      
    1. 返回一个值或者一个元祖
    2. 返回一个response对象
       from flask import make_ response 
       app. route('/') 
       def index(): 
           response = make_response('<h1>This document carries a cookie!</h1>') 
           response.set_cookie(' answer', '42') 
           return response
      
    3. 重定向 redirect
      from flask import redirect
      @app.route('/')
      def index():
            reture redirect('http://www.abc.com')
      

    Flask扩展

    Flask-Script
    专为Flask开发的扩展在flask.ext命名空间下

    相关文章

      网友评论

          本文标题:Flask Web 笔记(二)- 基本概念

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