Flask.3

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"

 

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

时间: 2024-11-10 20:03:43

Flask.3的相关文章

Python:hashlib加密模块,flask模块写登录接口

hashlib模块 主要用于加密相关的操作,(比如说加密字符串)在python3的版本里,代替了md5和sha模块,主要提供 sha1, sha224, sha256, sha384, sha512 ,md5 这些加密方式 import  hashlib m = hashlib.md5()   #用md5加密的方式(md5加密后无法解密),创建一个md5的对象 m.update(b"Hello")  #b代表二进制字节bytes,把字符串hello转成字节,然后加密:用b给一个变量转换

flask 安装

flask官网 : http://docs.jinkan.org/docs/flask/installation.html (基本上就是按照官网思路一点一点来的) 1,安装easy_install: wget -q http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py 2,安装 virtualenv sudo easy_install virtualenv 3,因为报错,所以要升级Python至2.7 wget htt

flask蓝图的使用

首先,我对蓝图的理解相对通俗,就是觉得蓝图对于视图方法模块化.大项目协同开发过程中的一个很好的工具. 1.下图是我们通常情况下使用的项目组织结构 看一下视图方法: #views.py 1 from app import app 2 3 4 @app.route('/user/index') 5 def index(): 6 return 'user_index' 7 8 @app.route('/user/show') 9 def show(): 10 return 'user_show' 11

flask开发restful api

在此之前,向大家说明的是,我们整个框架用的是flask + sqlalchemy + redis.如果没有开发过web,还是先去学习一下,这边只是介绍如果从开发web转换到开发移动端.如果flask还不是很熟悉,我建议先到这个网站简单学习一下,非常非常简单.http://dormousehole.readthedocs.org/en/latest/ 一直想写一些特别的东西,能让大家学习讨论的东西.但目前网上的很多博客,老么就按照官方文档照本宣读,要么直接搬代码,什么都不说明.我写这个系列的博客,

怎么使用Python和Flask在Linux上创建应用

无论你在linux上娱乐还是工作,这对你而言都是一个使用python来编程的很好的机会,也是一个从零基础开始学习python开发(http://www.maiziedu.com/course/python/)的一个好机会,pyhon学起来很有趣且在实际的应用如yum包管理器中很有用. 给大家分享一个关于很赞的教程贴,本篇教程会带你使用python和一个称为flask的微型框架来构建一个简单的应用,来显示诸如每个进程的内存使用,CPU百分比之类有用的信息. 前置需求 Python基础.列表.类.函

flask技巧(不断更新)

flask获取真实ip if request.headers.getlist("X-Forwarded-For"):    ip = request.headers.getlist("X-Forwarded-For")[0]else:    ip = request.remote_addr 未完成

#SORA#flask实验

唉,最近熬夜看动漫,早上还测了个蛋疼的数学测验,我也是醉了,今天得早点睡. 实验目的:在flask应用中使用多个http头并借助PUT,POST提交数据 源代码: __author__ = 'hochikong' from flask import Flask,request from flask.ext.restful import Resource,Api,reqparse app = Flask(__name__) api = Api(app) todos = {'task':'get t

运维的我要学开发--Flask(1)

Flask默认使用的是Jinja2的模板引擎,下面将会介绍下Flask提供给模板的一些方法. #-*- coding: utf-8 -*- #导入一些函数 from flask import Flask from flask import render_template,g #创建一个app app = Flask(__name__) #创建一个装饰器 @app.route("/") @app.route("/index") def index(): string=

flask源代码笔记——应用启动

flask一个最简单的demo是: from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello, World!' if __name__ == '__main__': app.run() run()方法启动了应用,那么run()背后都调用哪些类.方法和函数呢? 将相关代码汇总起来,如下: def run(self, host='localhost', port=5000, **o

Python flask虚拟环境安装

1.安装virtualenv 2.在当前路径下创建文件夹,启动虚拟环境 3.在使用虚拟环境前需激活,前面出现(env说明在虚拟环境中).虚拟环境中默认安装了pip,所以直接pip安装flask 4.在虚拟路径下创建py文件测试,deactivate退出虚拟环境 #!/usr/bin/env python from flask import Flask app = Flask(__name__) @app.route('/') def hello_flask(): return "hello fl