zoukankan      html  css  js  c++  java
  • Flask 快速入门

    • 一个最小的应用
    • 调试模式
    • 路由
    • 静态文件
    • 模板渲染:
      • 除了/static, /templates 目录;
      • 在模版里面,可以访问request, session 和 g对象,以及get_flashed_messages.
      • 模版继承
    • 访问请求数据 request
      • 单元测试的最简单的解决方案是:用test_request_context()环境管理器。
      • 结合with声明,绑定一个测试请求,这样才可以与之交互。
    • 请求对象 
      • 当前请求的HTTP方法可以通过flask.request.method获得
      • 通过flask.request.form属性来访问表单数据(POST或PUT请求提交的数据)。
      • 通过request.args属性访问URL中提交的参数(?key=value
      • 具体看request文档
    • 文件上传
      • 在HTML 表单中设置 enctype="multipart/form-data" 属性
      • 已上传的文件存储在内存或是文件系统中一个临时的位置。可以通过request.files属性访问她们。
      • 每个上传的文件都会存储在这个字典里。
      • 它表现近乎为一个标准的Python file对象,但它还有一个save()方法,这个方法允许你把文件保存到服务器的文件系统上。
      • request.filename了解上传前在客户端的文件名—不要信任它,它可以伪造
      • 信任的文件名secure_filename()
    • Cookies
      • 通过request.cookies属性访问Cookies
      • 用响应对象response的set_cookie方法来设置Cookies.
      • 请求对象的cookies属性是一个内容为客户端提交的所有Cookies的字典。
      • 如果想要使用会话,不要直接使用Cookies。
      • Flask中,已经注意处理了一些Cookies安全细节。
      • Cookies是设置在响应对象上的。
      • 由于通常视图函数只是返回字符串,之后Flask将字符串转换为响应对象。
      • 如果要显式地转换,可以使用make_response()函数然后再进行修改。
    • 重定向和错误
      • redirect()
      • abort()
      • 定制错误页面,使用@app.errorhandler(404)装饰器
    • 关于响应 response
      • 视图函数的返回值会被自动转换为一个响应对象。
      • 如果返回值是一个字符串,它被转换该字符串为主体的、状态码为200 OK的、MIME类型是’text/html’的响应对象。
      • Flask把返回值转换为响应对象的逻辑是这样:
        • 如果返回的是一个合法的响应对象,它会从视图直接返回。
        • 如果返回的是一个字符串,响应对象会用字符串数据和默认参数创建。
        • 如果返回的是一个元组,且元组中的元素可以提供额外的信息。这样的元组必须是(response,status,headers)的形式,且至少包含一个元素。status值会覆盖状态代码,headers可以是一个列表或字典,作为额外的消息标头值。
        • 如果上述条件均不满足,Flask会假设返回值是一个合法的WSGI应用程序,并转换为一个请求对象。
      • 如果你想在视图里操作上述步骤结果的响应对象,可以使用make_response()函数。
    • 会话 session
      • 除请求对象之外,还有一个session对象。
      • 它允许你在不同请求间存储特定用户的信息。
      • 它是在Cookies的基础上实现的,并且对Cookies进行密钥签名。
      • 这意味着用户可以查看你Cookie的内容,但却不能修改它,除非用户知道签名的密钥。
      • 生成强壮的密钥:import os , os.urandom(24)
    • 消息闪现
      • 反馈,是良好的应用和用户界面的重要构成
      • 如果用户得不到足够的返回,他们很可能开始厌恶这个应用。
      • Flask提供了消息闪现系统,可以简单地用用户反馈。
      • 消息闪现系统通常会在请求结束时记录信息,并在下一个(且仅在下一个)请求中访问记录的信息。
      • 展现这些消息通常要结合模版布局。
      • 使用flash()方法可以闪现一条消息。
      • 要操作消息本身,请使用get_flashed_messages()函数,并且在模版中可以使用
    • 日志记录
      • Flask 0.3开始,Flask就已经预置了日志系统。
      • 附带的logger时一个标准日志类
        • app.logger.debug(‘A value for debugging’)
        • app.logger.warning(‘A warning occurred (%d apples)’,42)
        • app.logger.error(‘An error occurred’)
    • 整合WSGI中间件
      • 如果你想要给你的应用添加WSGI中间件,你可以封装内部WSGI应用。
      • 例如若是你想用Werkzeug包中的某个中间件来应付lightpd中的bugs
    • 部署到Web服务器
      • 部署到托管平台
        • and so on …

     

  • 相关阅读:
    hdu 3507 Print Article —— 斜率优化DP
    bzoj 1096 仓库建设 —— 斜率优化DP
    ORDER BY 高级用法之CASE WHEN
    union和union all 的区别
    Ubuntu 链接ln的使用:创建和删除符号链接
    python中set和frozenset方法和区别
    python之sys模块详解
    odoo 8.0 多核启用
    Odoo 中的widget
    Odoo 在 Ubuntu 环境下性能调优
  • 原文地址:https://www.cnblogs.com/zoe233/p/8036051.html
Copyright © 2011-2022 走看看