1.Flask Request

# from flask import request
request.form # 获取FormData中的数据
request.args # 获取URL中的数据
request.data # 获取原始请求体数据 content-type 中没有Form字眼 b""
request.json # 获取 content-type:application/json 字典
request.files # 获取请求中的文件数据 FileStorage 对象 save(文件路径)
request.method # 获取请求方式 GET POST DELETE PUT
request.path # 获取请求路径 路由地址
request.host_url # 获取请求HOST地址
request.cookies # 获取Cookie对象
request.headers # 获取请求头中的数据

2.Flask Response

1."" HTTPResponse
2.render_templates(模板名称) # 默认模板存放路径 templates
3.redirect("/路由地址") # 响应头中 location:http://url/路由地址
Flask 特殊:
4.send_file("文件路径")
# 打开并返回文件件内容 自动识别文件类型 响应头 Content-Type:文件类型
5.jsonify(dict)
# 返回标注的JSON格式字符串 响应头 Content-Type:application/json

3.Flask 中的 Session

from flask import session
application.secret_key = "$%^&*()&^%$%^&*"
app.config["SECRET_KEY"] = "$%^&*()&^%$%^&*"
session["user"] = 123 if session.get("user") --- session["user"] KeyError 交由客户端保管机制
1.session["user"] = "123"
2.序列化session 字符串
3.通过 SECRET_KEY 加密字符串 加密算法
4.cookie中加入 {SESSION_COOKIE_NAME}:SECRET_KEY 加密字符串
5.返回客户端 反:
1.Cookie获取{SESSION_COOKIE_NAME}:SECRET_KEY
2.通过 SECRET_KEY 解密 字符串 解密算法
3.反序列化 字符串 字典 - session
4.session.get("user")

4.路由

@app.route("/")
def index():
*endpoint app中是唯一的 路由和视图函数之间的桥梁
*methods 允许请求的方式 ["GET","POST","DELETE","PUT"]
**动态参数路由
"/index/<page>"
"/look/<xiaojiejie>/<picture>"
def look(xiaojiejie,picture): defaults = {nid:1} # 视图的默认参数
strict_slashes # 是否严格遵循路由匹配规则 "/结尾/" True False
redirect_to # 永久重定向 301 308 app.add_url_rule()

5.初始化

app = Flask(__name__)
template_folder # 模板存放路径 os.path.join(root_path,template_folder)
static_folder # 静态文件存放路径
static_url_path # 静态文件访问路径 "/{static_folder}"
-import_name # __name__ 锁定当前文件的目录 保证文件唯一
-root_path # 当前application的所在目录 由import_name自动创建
host_matching # 主机位 匹配 config.server_name
static_host # 远程静态文件服务 "{static_host}/{static_folder}"
subdomain_matching # 支持子域名的主机位匹配
instance_path # 另一个Flask示例导入
instance_relative_config # 另一个FlaskConfig导入

6.配置

app.config Flask Config对象
app.debug = True
app.config["DEBUG"] = True
DEBUG 开发环境 log级别低 重启代码错误透传
TESTING 测试环境 log级别较高
SECRET_KEY 开启Session序列化
SESSION_COOKIE_NAME 在Cookie Session名称
SESSION_COOKIE_HTTPONLY 是否只在HTTP请求下开启 session
JSONIFY_MIMETYPE 更改 jsonify 时的 Content-Type class DebugConfig(object):
DEBUG = True
SECRET_KEY = "%^&*()_"
app.config.from_object(DebugConfig)

7.蓝图

蓝图就是不能Run的Flask示例
蓝图中没有Config对象
蓝图的作用 隔离应用 隔离路由 bp = Blueprint("蓝图名称全Flask示例唯一",__name__)
@bp.route("application路由一致",url_prefix="/url前缀")
def bp_index():
app.register_blueprint(bp#蓝图对象)

8.特殊装饰器

@app.before_request # 在请求进入视图函数之前
@app.after_request # 在响应客户端之前
正常:be1 - be2 - vf - af2 - af1
异常:be1 - af2 - af1 @app.errorhandler(404) # 重定义错误信息
def error404(ErrorMessage):
return 5返回 @app 可是 @bp , @bp 当前的装饰器只生效当前 bp

9.CBV

试图类
from flask import views 导入CBV的视图基类
class Login(views.MethodView): # 继承CBV视图基类的最高类
def get(self):
return "GET 200 OK!"
def post(self):
return "POST 200 OK!"

Flask 基础总结回顾的更多相关文章

  1. Flask【第2篇】:Flask基础

    Flask基础 知识点回顾 1.flask依赖wsgi,实现wsgi的模块:wsgiref,werkzeug,uwsgi 2.实例化Flask对象,里面是有参数的 app = Flask(__name ...

  2. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  3. C#基础知识回顾-- 反射(3)

    C#基础知识回顾-- 反射(3)   获取Type对象的构造函数: 前一篇因为篇幅问题因为篇幅太短被移除首页,反射这一块还有一篇“怎样在程序集中使用反射”, 其他没有什么可以写的了,前两篇主要是铺垫, ...

  4. C#基础知识回顾-- 反射(1)

    C#基础知识回顾-- 反射(1)   反射(reflection)是一种允许用户获得类型信息的C#特性.术语“反射”源自于它的工作方式: Type对象映射它所代表的底层对象.对Type对象进行查询可以 ...

  5. C#基础知识回顾--线程传参

    C#基础知识回顾--线程传参 在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数,ThreadStart委托接收的函数不能有参数, 也不能有返回值.如果希望传递参数给执行函数, ...

  6. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  7. JavaWeb开发技术基础概念回顾篇

    JavaWeb开发技术基础概念回顾篇 第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第 ...

  8. Java基础知识回顾之七 ----- 总结篇

    前言 在之前Java基础知识回顾中,我们回顾了基础数据类型.修饰符和String.三大特性.集合.多线程和IO.本篇文章则对之前学过的知识进行总结.除了简单的复习之外,还会增加一些相应的理解. 基础数 ...

  9. C#基础委托回顾

    C#基础委托回顾 前言 快忘记了. 委托的特点 委托类似于 C++ 函数指针,但它们是类型安全的. 委托允许将方法作为参数进行传递. 委托可用于定义回调方法. 委托可以链接在一起:例如,可以对一个事件 ...

随机推荐

  1. (转)LoadRunner之录制你的第一个脚本

    LoadRunner安装完成之后,肯定就迫不及待的想要上手试用了.下面就是讲一下LR脚本录制的流程和基本的设置. 1.先放一张脚本录制以及运行的流程图 2.脚本录制步骤 1)以管理员身份打开LR软件, ...

  2. Windows删除空文件夹问题带来的学习与思考

    https://blog.csdn.net/XavierDarkness/article/details/84785482 1.问题产生:   前段时间得到一份资源,号称有近500个G的学习资料,花了 ...

  3. openlive writer 汉化方法

    使用方法: 替换你安装openlive writer 位置C:\Users\Administrator\AppData\Local\OpenLiveWriter的 app目录 下的 OpenLiveW ...

  4. es查询示例

    1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsearch(["localhost:9200"]) 2. ...

  5. Spring MVC -- 单元测试和集成测试

    测试在软件开发中的重要性不言而喻.测试的主要目的是尽早发现错误,最好是在代码开发的同时.逻辑上认为,错误发现的越早,修复的成本越低.如果在编程中发现错误,可以立即更改代码:如果软件发布后,客户发现错误 ...

  6. The 10 Best Studio Headphones of 2019

    The 10 Best Studio Headphones of 2019 https://www.outeraudio.com/category/list/ https://www.outeraud ...

  7. 启动Oracle 12c数据库实例

    启动Oracle 12c数据库实例 启动Oracle数据库实例,主要分为两步:第一步,启动监听:第二步,启动数据库实例. 1. 切换到oracle用户- su oracle- cd - source ...

  8. python的mysql数据库操作

    python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...

  9. SpringBoot系列教程web篇之重定向

    原文地址: SpringBoot系列教程web篇之重定向 前面介绍了spring web篇数据返回的几种常用姿势,当我们在相应一个http请求时,除了直接返回数据之外,还有另一种常见的case -&g ...

  10. 【bat】九九表

    @echo off & setlocal EnableDelayedExpansion title 九九表 for /l %%a in (1,1,9) do ( set temp= for / ...