基本信息
源码名称:Python web框架.Flask中文手册
源码大小:1.04M
文件格式:.rar
开发语言:Python
更新时间:2019-03-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

Python web框架.Flask中文手册,python web开发流行框架,适合新手入门参阅,简单易懂。Flask 是一个现在很流行的 Python 实现的 Web 开发微框架。之所以说是微框架,是因为Flask只保留着构建web服务器的核心,不会有其他的东西但是却易于扩展,可以是有很多的库和框架;一个通俗一点的比方:Flask就是插线板,上面可以插着任何一个电器,实现任何一种功能。

I 用户指南 1
1 前言 3
1.1 ``micro''是什么意思? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 一个框架和一个例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Web开发是危险的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Python 3的状态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 安装 5
2.1 virtualenv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 安装到系统全局 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 生活在边缘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Windows 平台下的 easy_install . . . . . . . . . . . . . . . . . . . . . . . . 7
3 快速上手 9
3.1 一个最小的应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 调试模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 静态文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 模板渲染 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.6 访问 Request 数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7 跳转和错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.8 会话 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.9 消息闪烁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.10 日志记录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.11 WSGI 中间件集成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 教程 23
4.1 介绍 Flaskr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 初始准备: 创建目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 第一步: 数据库模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 第二步: 应用程序构建代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.5 第三步: 创建一个数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6 第四步:请求数据库连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.7 第五步: 视图函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.8 第六步: 模版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.9 第七步: 添加样式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
i
4.10 附加: 自动测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 模版 33
5.1 Jinja安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 标准上下文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 标准过滤器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4 控制自动转义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.5 引入过滤器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.6 上下文处理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6 测试Flask应用程序 37
6.1 要先有应用程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2 测试骨架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3 处女测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.4 日志的输入输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.5 测试添加功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.6 其他测试技巧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.7 保持现场 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7 处理应用异常 43
7.1 报错邮件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.2 日志文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.3 日志格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.4 其他代码库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8 Configuration Handling 47
8.1 Configuration Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.2 Builtin Configuration Values . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.3 Configuring from Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.4 Configuration Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.5 Development / Production . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9 Signals 53
9.1 Subscribing to Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.2 Creating Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9.3 Sending Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9.4 Decorator Based Signal Subscriptions . . . . . . . . . . . . . . . . . . . . . 56
9.5 Core Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10 Pluggable Views 59
10.1 Basic Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.2 Method Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.3 Method Based Dispatching . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
11 The Request Context 63
11.1 Diving into Context Locals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
11.2 How the Context Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
11.3 Callbacks and Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
11.4 Teardown Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
ii
11.5 Notes On Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
11.6 Context Preservation on Error . . . . . . . . . . . . . . . . . . . . . . . . . 67
12 Modular Applications with Blueprints 69
12.1 Why Blueprints? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
12.2 The Concept of Blueprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.3 My First Blueprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.4 Registering Blueprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.5 Blueprint Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.6 Building URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
13 Working with the Shell 75
13.1 Creating a Request Context . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
13.2 Firing Before/After Request . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
13.3 Further Improving the Shell Experience . . . . . . . . . . . . . . . . . . . 76
14 Patterns for Flask 77
14.1 Larger Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
14.2 Application Factories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
14.3 Application Dispatching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
14.4 Using URL Processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
14.5 Deploying with Distribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
14.6 Deploying with Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
14.7 Using SQLite 3 with Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
14.8 SQLAlchemy in Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
14.9 Uploading Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
14.10Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
14.11View Decorators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
14.12Form Validation with WTForms . . . . . . . . . . . . . . . . . . . . . . . . 106
14.13Template Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
14.14Message Flashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
14.15AJAX with jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
14.16Custom Error Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
14.17Lazily Loading Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
14.18MongoKit in Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
14.19Adding a favicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
15 Deployment Options 123
15.1 mod_wsgi (Apache) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
15.2 CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
15.3 FastCGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
15.4 uWSGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
15.5 Other Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
16 搞大了?! 133
16.1 干嘛要开分舵? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
16.2 像大师一样游刃有余 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
16.3 通过网络社区进行交流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
iii
II API 参考 135
17 API 137
17.1 Application Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
17.2 Module Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
17.3 Incoming Request Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
17.4 Response Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
17.5 Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
17.6 Application Globals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
17.7 Useful Functions and Classes . . . . . . . . . . . . . . . . . . . . . . . . . . 158
17.8 Message Flashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
17.9 Returning JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
17.10Template Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
17.11Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
17.12Useful Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
17.13Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
III 其它事项 169
18 Design Decisions in Flask 171
18.1 The Explicit Application Object . . . . . . . . . . . . . . . . . . . . . . . . . 171
18.2 One Template Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
18.3 Micro with Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
18.4 Thread Locals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
18.5 What Flask is, What Flask is Not . . . . . . . . . . . . . . . . . . . . . . . . 174
19 HTML/XHTML FAQ 175
19.1 History of XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
19.2 History of HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
19.3 HTML versus XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
19.4 What does ``strict'' mean? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
19.5 New technologies in HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . 178
19.6 What should be used? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
20 Security Considerations 179
20.1 Cross-Site Scripting (XSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
20.2 Cross-Site Request Forgery (CSRF) . . . . . . . . . . . . . . . . . . . . . . . 180
20.3 JSON Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
21 Unicode in Flask 183
21.1 Automatic Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
21.2 The Golden Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
21.3 Encoding and Decoding Yourself . . . . . . . . . . . . . . . . . . . . . . . . 184
21.4 Configuring Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
22 Flask Extension Development 187
22.1 Anatomy of an Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
22.2 ``Hello Flaskext!'' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
iv
22.3 Initializing Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
22.4 The Extension Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
22.5 Adding an init_app Function . . . . . . . . . . . . . . . . . . . . . . . . . . 191
22.6 End-Of-Request Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
22.7 Learn from Others . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
22.8 Approved Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
23 Pocoo Styleguide 195
23.1 General Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
23.2 Expressions and Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
23.3 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
23.4 Docstrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
23.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
24 Upgrading to Newer Releases 199
24.1 Version 0.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
24.2 Version 0.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
24.3 Version 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
24.4 Version 0.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
24.5 Version 0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
25 Flask Changelog 205
25.1 Version 0.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
25.2 Version 0.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
25.3 Version 0.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
25.4 Version 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
25.5 Version 0.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
25.6 Version 0.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
25.7 Version 0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
25.8 Version 0.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
25.9 Version 0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
26 License 209
26.1 Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
26.2 General License Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
26.3 Flask License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210