码迷,mamicode.com
首页 > 其他好文 > 详细

Flask.3

时间:2019-05-24 18:58:54      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:存在   rect   ESS   except   color   Enctype   实现   form   font   

Flask四大内置对象

  • request
  • session
  • g
    • global 全局
    • 帮助我们实现全局数据共享
      • 生命周期:在单次请求中
  • config 或者 app
    • 就是当前运行的项目
    • 获取当前运行的App的位置
    • 应该是存在价值和意义的

钩子函数

 

  • 编程模型

    • OOP

      • 面向对象编程

    • POP

      • 面向过程编程

    • IOP

      • 面向接口编程

    • AOP

      • 面向切面编程

  • 动态介入到既有流程中

  • 重要概念

    • 切点

      • 请求前

      • 请求后

      • 请求异常

    • 切面

      • 请求前

        • request

      • 请求后

        • request

        • response

      • 请求异常

        • exception

        • request

  • Flask中就叫做钩子(切点)

  • 蓝图和app上都有钩子函数

    • app上的钩子优先级更高

    • 蓝图只能处理本蓝图内容的信息

缓存

  • 减少磁盘io可以大幅度提升服务器性能

  • 实现

    • flask-cache

    • flask-caching

url_for

 

  • 反向解析

  • 动态获取地址

  • url_for("视图函数名字" )    **一定是函数名字**

    • 可以视图函数上的路由

    • 带参

      • url_for("视图函数名字", key=value, key=value)

  • static

    • url_for("static", filename="xxx")

    • @app.route("/static/path:filename")

    • def static(filename):

  • 在app中是以上所说

  • 在蓝图中前面要拼接蓝图的名字

    • url_for("蓝图名.函数名")

    • users_blue = Blueprint("users_blue", __name__, url_prefix="/users")
      
      #举例
      if user.save():
          return redirect(url_for(users_blue.login)). #重定向到users_blue的login函数
      else:
          return "注册失败"

       

模型

  • 模型默认一定会在数据库中产生映射

 

  • 如果模型不想在数据库中产生映射

 

    • 需要模型是抽象的

    • 抽象的模型不会有具体的实例

    • __abstract__ =True

#定义一个基类函数,让其他函数继承自它
#但映射时还会产生这个函数对象的表,所以加上__abstract__ = True,变为抽象模型
class BaseModel(db.Model):
    __abstract__ = True
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)

 

文件上传(图片)

  • 文件不能一次传输

  • 需要打碎,然后再拼装

  • 中间需要对应的规则

    • enctype

enctype="multipart/form-data"

 

 

 

Flask.3

标签:存在   rect   ESS   except   color   Enctype   实现   form   font   

原文地址:https://www.cnblogs.com/zbcdamao/p/10919370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!