美文网首页
Flask 第一天

Flask 第一天

作者: 恬恬i阿萌妹O_o | 来源:发表于2019-05-25 15:12 被阅读0次

    一. https 为什么要比 http 更安全???
    http --> 超文本传输协议 -- 应用层 --> 端口80 --> http协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

    https --> 安全套接字层超文本传输协议 -- 传输层--> 端口443 --> 为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份

    二. format 格式化字符串的用法?
    1.作为拼接字符串进行使用
    '{}'.format(变量)

    1. 保留小数
      '{:.2f}'.format(12.333) 保留小数点后两位
      3.百分比格式
      '{:.2%}'].=format(0.333)
      4.进制转换
      '{0:x}'.format(20) 转换成十六进制
      '{0:o}'.format(20) 转换成八进制
      进制转换的时候用{0:进制}
      5.对齐方式 '{a:<10}'.format(a=12.3,b=13.44) 左对齐,长度为10 '{a:0>10}'.format(a=12.3,b=13.44) 右对齐... '{a:0^10}'.format(a=12.3,b=13.44) 居中对齐... '{a:0<10}'.format(a=12.3,b=13.44) 数字补x (填充左边)
      6.转义{和}符号
      '{{ hello{0} }}'.format('python’)
      f = ' hello {0} '.format
      f('python’)

    三. 七层协议 每一层的作用?
    1.应用层 : 与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的
    2.表示层 : 这一层的主要功能是定义数据格式及加密
    3.会话层 : 它定义了如何开始、控制和结束一个会话
    4.传输层 : 这层的功能包括是否选择差错恢复协议还是无差错恢复协议,
    5.网络层 : 这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。
    6.数据链路层 : 它定义了在单个链路上如何传输数据
    7.物理层 : OSI的物理层规范是有关传输介质的特性,这些规范通常也参考了其他组织制定的标准

    四. Django 中间件具体执行流程
    执行流程:
    浏览器发送请求
    Django网站, 产生 request 对象
    调用中间件类中的 process_request
    url 的匹配(通过 URL 找对应的视图)
    调用中间件类中的 process_view
    调用我们自己的视图 view
    调用中间件类中的 process_response
    process_response 将响应内容 返回给浏览器
    五个中间件的作用?
    process_request: 是在产生 request 对象, 进行 url 匹配之前调用
    process_view: 是 url 匹配之后, 调用视图函数之前调用
    process_response: 视图函数调用之后, 内容返回给浏览器之前调用
    process_exception: 视图函数调用之后, 内容返回给浏览器之前
    如果注册的多个中间件类中包含 process_exception 函数的时候, 调用的顺序跟注册的顺序是相反的
    1 进入Django中的请求都会执行process_request方法;
    2 Django返回的信息都会执行process_response方法.;

    有return 和 没有 return 的区别?
    process_request方法不能有return,一定要使用return的时候,要配合条件判断语句执行
    process_response方法一定要有return,否则程序会运行错误
    process_view方法不能有return,否则视图函数不会执行
    process_exception方法只有在程序出现运行错误的时候才会执行
    process_exception方法设定return时,程序不会再执行后续中间件中的process_exception
    process_template_response方法只有在视图函数中使用render方法返回信息的时候才会执行

    五 .Flask 框架第一天所学知识~

    static_url_path 隐藏真实路径

    Flask 里面的参数意义?
    name 以当前传入的模块路径为家目录
    加载配置有几种?
     1.从配置文件中加载 app.config.from_pyfile('config.cfg')
     2.用类的方式加载 class Config(): DEBUG = True    app.config.from_pyfile((Config))
    3.本身就是字典 适用于参数少的 app.config['DEBUG'] = True
    run里面参数的意义?
    host='0.0.0.0' 任意一台电脑 
    port=5000 端口
    debug=true
    一个视图可以绑定多个路由

    框架的本质就是提供路由和视图

    一个视图函数可以绑定多个路由,只需要加装饰器

    重定向 redirect(url_for('login'))

    支持post methods=['GET','POST']

    转换器就是为了匹配路由中的参数
    转换器

    转换器

    转换器的核心本质就是正则

      1.整数
         @app.route('/center/<int:uid>')
          def center(uid):
             return 'your uid is {0}'.format(uid)
       2.字符串
         @app.route('/center1/<string:uid>')
          def center1(uid):
             return 'your uid is {0}'.format(uid)
       3.float
         @app.route('/center4/<float:uid>')
          def center4(uid):
             return 'your uid is {0}'.format(uid)
       4.默认转换器
         @app.route('/center2/<uid>')
         def center2(uid):
            return 'your uid is {0}'.format(uid)
       5.path转换器    # path转换器     path 支持斜杠 /
        @app.route('/center3/<uid>')
        def center3(uid):
           return 'your uid is {0}'.format(uid)
    

    自定义转换器
    自定义过滤器的本质就是一个函数  正则
    class MyConverter(BaseConverter):
    # regex = r'd{5,10}'
    regex = r'1[378]\d{9}'
    def init(self,map,re):
    super().init(map) # 让父类的init执行
    self.regex = re

    相关文章

      网友评论

          本文标题:Flask 第一天

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