一. 四种web框架比较

    Django :
优点 - 大而全所有组件都是有组织内部开发高度定制化 教科书级别的框架
缺点 - 大到浪费资源,请求的时候需要的资源较高 Flask ;
优势 - 小而精,组件只有Session,第三方机构强烈支持Flask,非常多的三方组件 简单至极
缺陷 - 由于三方组件的关系 稳定性相对较差 Flask-Session Tornado :
优势 - 异步IO 非阻塞 原生WebSocket
缺陷 - 组件 == 关于异步的不好理解 Debug难上加难 Sanic :
优势 - 异步IO 非阻塞 原生WebSocket + 小而精,组件只有Session,第三方机构强烈支持Flask,非常多的三方组件
缺陷 - 复杂度

扩展知识:
QPS = 请求每秒钟的次数 QPS == 10
时间片 cpu 工作一次的时间单位
py 假线程 - 1个核心
真线程 - 4个核心 - 四个线程

二.Flask 的启动

  1.三行启动 flask

    from flask import Flask
app = Flask(__name__)
app.run()

  2.六行启动 Flask   "hello"

    from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "hello"
app.run()

三.Flask 的响应

  ①return "hello"        直接返回字符串

  ②return render_template("login.html")

        返回 .html文件

  ③return redircet("/login")

        重定向,返回路径

  ④ return send_file("文件路径")

    打开并返回文件内容,并在响应头中加入

    content-Type:文件格式和 content-Length:文件大小(bytes)

  ⑤ return jsonify({k:v})

    返回一个客户端可以识别的 json 格式字符串,并在响应头

    中加入  content-Type: application/json

四.Flask 的请求

需要引入模块:(request是一个公共变量)
from flask import request

  ①  request.args    获取url 中的数据

  ②  request.form    获取 FormData 中的数据

    print(request.form.to_dict())    以字典形式 获取所有

  ③  request.values  获取 args+form 数据(不常用)

  ④  request.data  (数据流) 请求体中放入原始数据

  ⑤  request.json   (字典)   获取请求头中带有

    content-type:application/json 将请求体中的数据反序列化到 json中

    但在 data 中依然存储原始数据bytes

  ⑥ request.files   获取FormData 中的文件数据

          request.files.get('my_file')

   request.files.save(默认提交的文件名)

  

  ⑦  request.method    获取请求方式

五. template 调为 jinja2 模式

  1.常用方法

jinja2的常用语法

  {{  }}   引用  执行函数

  {%  %}   逻辑代码

字典的三种调用方式:

  2.扩展

    ① 调用函数

  在 .py 文件中

  在  .html 文件中调用

显示结果为:

7

  ②  添加全局

在.py 文件中

  在.html 中调用

  结果为

7

  ③ macro   (相当于 函数def)

六. Flask 中的session

  ① 需要调用

from flask import session

  ②加密

app.secret_key = "序列化Session需要的字符串儿"

七.装饰器

flask --- 01 .初始的更多相关文章

  1. Flask 之东方不败一

    1,flask的初始 flask是Python的一个轻量级的web框架,相当于django而言. 知识点Python 三大主流web框架的对比 1.Django 主要特点是大而全,集成了很多组件,例如 ...

  2. 01按照官方步骤编译NanoPiM1Plus的Android

    01按照官方步骤编译NanoPiM1Plus的Android 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2017/12/6 10:58 版本:V1.0 ...

  3. 项目 CTR预估

    项目和数据介绍 给定查询和用户信息后预测广告点击率 搜索广告是近年来互联网的主流营收来源之一.在搜索广告背后,一个关键技术就是点击率预测-----pCTR(predict the click-thro ...

  4. 【项目】百度搜索广告CTR预估

    -------倒叙查看本文. 6,用auc对测试的结果进行评估: auc代码如下: #!/usr/bin/env python import sys def auc(labels,predicted_ ...

  5. 微冷的雨Java基础学习手记(一)

    使用Java理解程序逻辑 之凌波微步 船舶停靠在港湾是很安全的,但这不是造船的目的 北大青鸟五道口原玉明老师出品 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要 ...

  6. S1java基础学习笔记

    第一章  Java基础 程序目标:减轻现实生活中一类人的工作量,提高工作效率. 学员最终可以书写系统: 超市管理系统,POS机系统等 入库单 销售单 01.课程重点 五大重点: 01.分支(选择)结构 ...

  7. 【项目】搜索广告CTR预估(二)

    项目介绍 给定查询和用户信息后预测广告点击率 搜索广告是近年来互联网的主流营收来源之一.在搜索广告背后,一个关键技术就是点击率预测-----pCTR(predict the click-through ...

  8. Android 下拉刷新上拉载入效果功能

    应用场景: 在App开发中,对于信息的获取与演示.不可能所有将其获取与演示,为了在用户使用中,给予用户以友好.方便的用户体验,以滑动.下拉的效果动态载入数据的要求就会出现. 为此.该效果功能就须要应用 ...

  9. FM在特征组合中的应用

    原文来自:博客园(华夏35度)http://www.cnblogs.com/zhangchaoyang 作者:Orisun 特征组合   x1年龄 x2北京 x3上海 x4深圳 x5男 x6女 用户1 ...

随机推荐

  1. XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation

    文章转载自:https://yq.aliyun.com/articles/40353 相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头 ...

  2. C++ Addon Async 异步机制

    线程队列: libuv,window 可在libuv官网下载相应版本 opencv:  编译的时候opencv的位数要和 node的bit 一致 兼容electron :  node-gyp rebu ...

  3. 求问ps如何导出单个切片及PS导出所有的切片图像

    在ps里面对图片进行切片,并根据需要弄好切片,利用shift键,可以选择其中部分的切片: 弄好以后,点击“文件”,选择“存储为WEB和设备所用格式”:. 在打开的“存储为WEB和设备所用格式”界面上点 ...

  4. HttpClient学习记录-系列1(tutorial)

    1. HttpClient使用了facade模式,如何使用的? 2. HTTP protocol interceptors使用了Decorator模式,如何使用的? URIBuilder respon ...

  5. yum命令查看某个命令是由那个包提供的

    [root@linux-node2 ~]$ yum whatprovides fuserLoaded plugins: fastestmirrorLoading mirror speeds from ...

  6. uploadify 火狐 http error:302

    网上查询了一都说是flash 中 Session问题 (IE会自动复制过去),大多说将session值传过去就可以了但我们用的是公司的一套权限,改不了用户登录信息 无奈只好不用用户信息来做,果然对了 ...

  7. 线程同步-Barrier类

    Barrier类:用于组织多个线程及时在某一个时刻碰面.并提供了一个回调函数,每次线程调用了SignalAndWait方法后该回调函数会被执行. 代码Demo: using System;using ...

  8. Gym 102056L - Eventual … Journey - [分类讨论][The 2018 ICPC Asia-East Continent Final Problem L]

    题目链接:https://codeforces.com/gym/102056/problem/L LCR is really an incredible being. Thinking so, sit ...

  9. python摸爬滚打之day26----网络编程之socket

    1.网络通信原理 互联网的本质就是一系列的网络协议, 统称为互联网协议. 互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准. 互联网协议按照功能不同分为 ...

  10. c#XML转换成实体

    首选:我的XML文件如下(mysql表里导出的):几千条,就选2条做例子. <?xml version="1.0" encoding="utf-8" ?& ...