|
|
本帖最后由 xuenv2005 于 2019-3-1 16:07 编辑
0 T }6 J! i- ~3 ]8 g- F+ @; n
' I3 Q9 P" V! [" e4 k! B第1章 随便聊聊
- c# Z2 M/ v4 B聊聊Flask与Django,聊聊代码的创造性
9 f% C3 I% G3 c
- \5 ] m; ~1 f2 ^1 o4 |3 L 1-1 Flask VS Django% l+ w5 ?/ n7 ?" B$ w2 l; ?
1-2 课程更新维护说明
# Z, {5 r) Q, I第2章 起步与红图* p3 G' Y3 @: L: f
本章我们初始化项目,探讨与研究Flask的默认层级结构。当我们遇到层级结构不合理时,我们将模仿蓝图自己定义一个“红图”来扩展Flask层级体系
3 D# ?6 m8 `% b/ X
* t; u' q5 k2 q! V9 B9 H 2-1 环境、开发工具与flask1.0
, Y; r# c0 r3 r P U 2-2 初始化项目 试看
i0 L6 T# r, N. y0 \. r 2-3 新建入口文件 试看
/ n6 f2 z# C. r* C 2-4 蓝图分离视图函数的缺陷% x8 B- L5 C2 Y; ~! v' {
2-5 打开思维,创建自己的Redprint——红图& e4 H4 v7 |2 r- C. [
2-6 实现Redprint
) ^7 F" B8 K9 n( e; M2 z2 e 2-7 优化Redprint
( [9 ^: |- Y: g6 p2 R2 d第3章 REST基本特征
2 n4 w$ w: S( u+ Q# n1 K本章我们将探讨REST的基本特征,并结合实际情况给出REST的适用范围与优劣势5 L- a6 u0 O7 z, Q8 S* d& d" @
( F5 X: L+ p+ |0 W 3-1 REST的最基本特征; V7 [. Z8 b/ O* x8 ?7 q4 ?; ~
3-2 为什么标准REST不适合内部开发
, E; Z4 t* p9 S# V, [! e3 A& b第4章 自定义异常对象
9 b( V O. `* ]7 Y0 |" D异常处理其实是一个非常严肃而又麻烦的事情,这直接涉及到前端如何对用户做出响应。本章我们将重写HTTPException并建立全局异常处理机制,统一处理框架内的异常,向前端返回统一而标准的异常信息,简化前端的开发流程" C! y( \" S* Q" \/ \
% D. @# i$ S$ Z2 A; M3 @ 4-1 关于“用户”的思考
7 W0 I7 F( _6 ~* m) k8 j 4-2 构建Client验证器
/ {) k, U \1 _ 4-3 处理不同客户端注册的方案2 ~( x( _4 F7 C1 d" h! q& s7 c& A
4-4 创建User模型% T% Y- q1 p) Y& s
4-5 完成客户端注册( ~- x9 g: G0 x l' V
4-6 生成用户数据1 G- o! z9 @ Z0 I7 v$ T
4-7 自定义异常对象
; t$ J {6 d4 q! W 4-8 浅谈异常返回的标准与重要性
4 ]7 U% W [$ z 4-9 自定义APIException
2 w3 j( I0 e- P& o0 @第5章 理解WTForms并灵活改造她
' c0 v+ c6 }# ]4 ]WTForms其实是非常强大的验证插件。但很多同学对WTForms的理解仅仅停留在“验证表单”上。那WTForms可以用来做API的参数验证码?完全可以,但这需要你灵活的使用它,对它做出一些“改变”5 s4 E; y( I1 Q3 _; c
9 p: I* T. [; t7 F7 S+ ^
5-1 重写WTForms 一* M) M& ?" ~7 O, Y+ R' M$ K- Q
5-2 重写WTForms 二, `5 g* \: V' x5 ~& Y% _
5-3 可以接受定义的复杂,但不能接受调用的复杂, @- A# E2 U$ m4 o
5-4 已知异常与未知异常3 j0 ?1 ]: S8 R' b7 u: b
5-5 全局异常处理
; b% n8 F+ P8 ~- G第6章 Token与HTTPBasic验证 —— 用令牌来管理用户- q) [) t2 R6 d& L" q; ?
在我的TP5课程里,我们使用令牌的方式是服务器缓存的方式。那么在Python Flask中我们换一种令牌的发放方式。我们将用户的信息加密后作为令牌返回到客户端,客户端在访问服务器API时必须以HTTP Basic的方式携带令牌,我们再读取令牌信息后,将用户信息存入到g变量中,共业务代码全局使用...
2 Z3 t7 G- ~ q) ?2 @; s6 c# J( }. K' q" s
6-1 Token概述- `4 ?! L, L* B6 x
6-2 获取Token令牌
7 s7 w( B, j, W! R8 Y 6-3 Token的用处( b# @# A) s' c' S7 L4 s# k
6-4 @auth拦截器执行流程
. ?( X5 L. S' U/ _5 F 6-5 HTTPBasicAuth基本原理
" C! S9 @ E) |' f7 ^: y6 Y) O 6-6 以BasicAuth的方式发送Token
- l, g/ S% a/ e$ n8 {% A9 l 6-7 验证Token- B9 l% D; ^8 w3 b; f
6-8 重写first_or_404与get_or_4042 y% x9 f* q& i$ b5 ^
第7章 模型对象的序列化8 C! ?% S' E' b: {
最适合Python JSON序列化的是dict字典类型,每一种语言都有其对应的数据结构用来对应JSON对象,比如在PHP中是它的数组数据结构。而Python是用字典来对应JSON的。如果我们想直接序列化一个对象或者模型对象,那么最笨的办法是把对象的属性读取出来,然后组装成一个字典再序列化。这实在是太麻烦了。本章节我们将深入了解JSO.../ L$ v/ c( K4 v! v0 J8 e `6 f
- |" ? z6 N" \3 S5 m- |$ Q1 ~9 N
7-1 鸡汤?) E" j: y. X# E4 c8 J
7-2 理解序列化时的default函数
. A& z1 |% M4 Q: E" u$ | 7-3 不完美的对象转字典- ]) l& K5 {( f, {" o" y5 w2 |
7-4 深入理解dict的机制( n% v3 C% J4 ?, h, ^9 g
7-5 一个元素的元组要特别注意
1 T' e5 d: y5 A2 Y3 _ 7-6 序列化SQLAlchemy模型 k X, g5 M. Y! F
7-7 完善序列化
l& Z% c1 Q" r 7-8 ViewModel对于API有意义吗! }& }0 W% F: m F9 K2 h5 m R
第8章 权限控制) b$ J1 A2 D6 ~( w4 j# F2 M0 Q
我看过太多同学编写的API在互联网上疯狂的裸奔了。殊不知这太危险了。API必须提供分层保护机制,根据不同用户的种类来限制其可以访问的API,从而保护接口。比如管理员可以访问哪些接口,普通用户可以访问哪些接口,小程序可以访问哪些,APP又能够访问哪些?灵活而强大的可配置Scope,可以帮助你事半功倍...) A8 I+ ^0 T' \8 I# c- ]2 T; r: j
5 @/ N- ^& K, }$ R9 ^/ E 8-1 删除模型注意事项
4 n( [$ |( v9 Q+ s 8-2 g变量中读取uid防止超权
4 \: }# g$ U5 k 8-3 生成超级管理员账号' ^6 d8 H0 o9 S2 W: s% M
8-4 不太好的权限管理方案' ?# ?/ p$ R" ]# X: j8 Q
8-5 比较好的权限管理方案
! k' I* ]; F8 A, |7 i' @ 8-6 实现Scope权限管理 一0 W8 X& |8 J$ ?6 d' [* ^
8-7 globals()实现“反射”7 q- W5 m. R k0 f
8-8 实现Scope权限管理 二
6 n Q( A2 f. K4 f 8-9 Scope优化一 支持权限相加
$ Y7 N3 L0 P- ~( x 8-10 Scope优化 二 支持权限链式相加7 h# t" S2 G( B5 E
8-11 Scope优化 三 所有子类支持相加: S7 X: } A. o* G- y3 _
8-12 Scope优化 四 运算符重载. k& z- g- J$ D7 ^
8-13 Scope 优化 探讨模块级别的Scope
/ |6 v: |4 q8 o5 N# w 8-14 Scope优化 实现模块级别的Scope6 l' x. y- ?5 N8 C
8-15 Scope优化 七 支持排除
}& x9 R) g% T; V+ G4 H0 U0 V第9章 实现部分鱼书小程序功能+ y" Y" T, H& F* W* D
理论必须结合实践,我们提供一个简单的鱼书小程序,编写他的业务接口,并用小程序来进行API的检验
6 b: T' T1 c, E- O9 S
/ I! z' k2 D; o; V3 L9 y 9-1 小程序演示API调用效果
, h! C+ z% n( ^7 D 9-2 模糊搜索书籍4 Z/ y Z7 n: e
9-3 再谈严格型REST的缺陷
. g8 o+ o8 |/ P0 G% L9 @& q& A. K 9-4 实现hide方法
6 @/ s V! _# z" P 9-5 @orm.reconstructor 解决模型对象实例化问题
* f; J8 y* T+ |* E; a2 d. W$ x) O 9-6 重构hide与append4 R% Q2 b' v' d
9-7 赠送礼物接口
, o0 i% M1 _# C+ R 9-8 实现获取令牌信息接口2 ]" M$ s! J8 H2 l5 F
2 _& j2 V2 p6 h& B- i9 l |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|