美文网首页
Flask 01day

Flask 01day

作者: 埃菲尔上的铁塔梦i | 来源:发表于2019-05-26 19:46 被阅读0次

    1、 https 为什么比 http 更安全?

    http --> 超文本传输协议 -- 应用层 --> 端口80 --> http协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

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

    2、format 格式化字符串的用法?

    1.作为拼接字符串进行使用
    '{}'.format(变量)

    2.保留小数
    '{:.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’)


    3、简述七层协议 每一层的作用

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

    4、Django 中间件具体执行流程

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

    5、有return 和 没有 return 的区别?

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


    6、Flask 框架第一天所学知识

    • 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

    • 一个视图可以绑定多个路由

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

    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转换器
    @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 01day

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