在好例子网,分享、交流、成长!
您当前所在位置:首页Python 开发实例Python语言基础 → python(flask)入门教程.pdf

python(flask)入门教程.pdf

Python语言基础

下载此实例
  • 开发语言:Python
  • 实例大小:0.85M
  • 下载次数:48
  • 浏览次数:371
  • 发布时间:2020-04-09
  • 实例类别:Python语言基础
  • 发 布 人:470088185
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: python py 教程

实例介绍

【实例简介】

【实例截图】

from clipboard

【核心代码】

CONTENTS
I User’s Guide 1
1 Foreword 3
1.1 What does “micro” mean? . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Configuration and Conventions . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Growing with Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Foreword for Experienced Programmers 5
2.1 Thread-Locals in Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Develop for the Web with Caution . . . . . . . . . . . . . . . . . . . . . . 5
2.3 The Status of Python 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Installation 7
3.1 virtualenv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 System-Wide Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Living on the Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4 pip and distribute on Windows . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Quickstart 11
4.1 A Minimal Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Static Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.5 Rendering Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.6 Accessing Request Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7 Redirects and Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.8 About Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.9 Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.10 Message Flashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.11 Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.12 Hooking in WSGI Middlewares . . . . . . . . . . . . . . . . . . . . . . . 25
4.13 Deploying to a Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Tutorial 27
5.1 Introducing Flaskr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 Step 0: Creating The Folders . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3 Step 1: Database Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
i
5.4 Step 2: Application Setup Code . . . . . . . . . . . . . . . . . . . . . . . . 29
5.5 Step 3: Creating The Database . . . . . . . . . . . . . . . . . . . . . . . . 31
5.6 Step 4: Request Database Connections . . . . . . . . . . . . . . . . . . . . 32
5.7 Step 5: The View Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.8 Step 6: The Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.9 Step 7: Adding Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.10 Bonus: Testing the Application . . . . . . . . . . . . . . . . . . . . . . . . 37
6 Templates 39
6.1 Jinja Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 Standard Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3 Standard Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.4 Controlling Autoescaping . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.5 Registering Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.6 Context Processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7 Testing Flask Applications 43
7.1 The Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.2 The Testing Skeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.3 The First Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.4 Logging In and Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.5 Test Adding Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.6 Other Testing Tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.7 Faking Resources and Context . . . . . . . . . . . . . . . . . . . . . . . . 47
7.8 Keeping the Context Around . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.9 Accessing and Modifying Sessions . . . . . . . . . . . . . . . . . . . . . . 48
8 Logging Application Errors 51
8.1 Error Mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.2 Logging to a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.3 Controlling the Log Format . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.4 Other Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9 Debugging Application Errors 57
9.1 When in Doubt, Run Manually . . . . . . . . . . . . . . . . . . . . . . . . 57
9.2 Working with Debuggers . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
10 Configuration Handling 59
10.1 Configuration Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.2 Builtin Configuration Values . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.3 Configuring from Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.4 Configuration Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.5 Development / Production . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.6 Instance Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
11 Signals 67
11.1 Subscribing to Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
11.2 Creating Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
11.3 Sending Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
ii
11.4 Signals and Flask’s Request Context . . . . . . . . . . . . . . . . . . . . . 70
11.5 Decorator Based Signal Subscriptions . . . . . . . . . . . . . . . . . . . . 70
11.6 Core Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12 Pluggable Views 75
12.1 Basic Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
12.2 Method Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
12.3 Method Based Dispatching . . . . . . . . . . . . . . . . . . . . . . . . . . 77
12.4 Decorating Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
12.5 Method Views for APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
13 The Application Context 81
13.1 Purpose of the Application Context . . . . . . . . . . . . . . . . . . . . . 81
13.2 Creating an Application Context . . . . . . . . . . . . . . . . . . . . . . . 82
13.3 Locality of the Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
13.4 Context Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
14 The Request Context 85
14.1 Diving into Context Locals . . . . . . . . . . . . . . . . . . . . . . . . . . 85
14.2 How the Context Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
14.3 Callbacks and Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
14.4 Teardown Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
14.5 Notes On Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
14.6 Context Preservation on Error . . . . . . . . . . . . . . . . . . . . . . . . 88
15 Modular Applications with Blueprints 91
15.1 Why Blueprints? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
15.2 The Concept of Blueprints . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
15.3 My First Blueprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
15.4 Registering Blueprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
15.5 Blueprint Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
15.6 Building URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
16 Flask Extensions 97
16.1 Finding Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
16.2 Using Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
16.3 Flask Before 0.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
17 Working with the Shell 99
17.1 Creating a Request Context . . . . . . . . . . . . . . . . . . . . . . . . . . 99
17.2 Firing Before/After Request . . . . . . . . . . . . . . . . . . . . . . . . . 100
17.3 Further Improving the Shell Experience . . . . . . . . . . . . . . . . . . . 100
18 Patterns for Flask 101
18.1 Larger Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
18.2 Application Factories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
18.3 Application Dispatching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
18.4 Implementing API Exceptions . . . . . . . . . . . . . . . . . . . . . . . . 108
18.5 Using URL Processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
iii
18.6 Deploying with Distribute . . . . . . . . . . . . . . . . . . . . . . . . . . 112
18.7 Deploying with Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
18.8 Using SQLite 3 with Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
18.9 SQLAlchemy in Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
18.10 Uploading Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
18.11 Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
18.12 View Decorators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
18.13 Form Validation with WTForms . . . . . . . . . . . . . . . . . . . . . . . 132
18.14 Template Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
18.15 Message Flashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
18.16 AJAX with jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
18.17 Custom Error Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
18.18 Lazily Loading Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
18.19 MongoKit in Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
18.20 Adding a favicon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
18.21 Streaming Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
18.22 Deferred Request Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . 150
18.23 Adding HTTP Method Overrides . . . . . . . . . . . . . . . . . . . . . . 151
18.24 Request Content Checksums . . . . . . . . . . . . . . . . . . . . . . . . . 152
18.25 Celery Based Background Tasks . . . . . . . . . . . . . . . . . . . . . . . 153
19 Deployment Options 155
19.1 mod_wsgi (Apache) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
19.2 Standalone WSGI Containers . . . . . . . . . . . . . . . . . . . . . . . . . 158
19.3 uWSGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
19.4 FastCGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
19.5 CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
20 Becoming Big 169
20.1 Read the Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
20.2 Hook. Extend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
20.3 Subclass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
20.4 Wrap with middleware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
20.5 Fork. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
20.6 Scale like a pro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
20.7 Discuss with the community. . . . . . . . . . . . . . . . . . . . . . . . . . 171
II API Reference 173
21 API 175
21.1 Application Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
21.2 Blueprint Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
21.3 Incoming Request Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
21.4 Response Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
21.5 Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
21.6 Session Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
21.7 Test Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
21.8 Application Globals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
iv
21.9 Useful Functions and Classes . . . . . . . . . . . . . . . . . . . . . . . . . 207
21.10 Message Flashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
21.11 JSON Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
21.12 Template Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
21.13 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
21.14 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
21.15 Stream Helpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
21.16 Useful Internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
21.17 Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
21.18 Class-Based Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
21.19 URL Route Registrations . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
21.20 View Function Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
III Additional Notes 229
22 Design Decisions in Flask 231
22.1 The Explicit Application Object . . . . . . . . . . . . . . . . . . . . . . . . 231
22.2 The Routing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
22.3 One Template Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
22.4 Micro with Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
22.5 Thread Locals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
22.6 What Flask is, What Flask is Not . . . . . . . . . . . . . . . . . . . . . . . 234
23 HTML/XHTML FAQ 235
23.1 History of XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
23.2 History of HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
23.3 HTML versus XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
23.4 What does “strict” mean? . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
23.5 New technologies in HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . 238
23.6 What should be used? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
24 Security Considerations 239
24.1 Cross-Site Scripting (XSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
24.2 Cross-Site Request Forgery (CSRF) . . . . . . . . . . . . . . . . . . . . . . 240
24.3 JSON Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
25 Unicode in Flask 243
25.1 Automatic Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
25.2 The Golden Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
25.3 Encoding and Decoding Yourself . . . . . . . . . . . . . . . . . . . . . . . 244
25.4 Configuring Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
26 Flask Extension Development 247
26.1 Anatomy of an Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
26.2 “Hello Flaskext!” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
26.3 Initializing Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
26.4 The Extension Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
26.5 Using _app_ctx_stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
v
26.6 Teardown Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
26.7 Learn from Others . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
26.8 Approved Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
26.9 Extension Import Transition . . . . . . . . . . . . . . . . . . . . . . . . . 254
27 Pocoo Styleguide 255
27.1 General Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
27.2 Expressions and Statements . . . . . . . . . . . . . . . . . . . . . . . . . . 256
27.3 Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
27.4 Docstrings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
27.5 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
28 Python 3 Support 259
28.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
28.2 API Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
28.3 Few Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
28.4 Small Ecosystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
28.5 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
29 Upgrading to Newer Releases 261
29.1 Version 0.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
29.2 Version 0.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
29.3 Version 0.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
29.4 Version 0.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
29.5 Version 0.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
29.6 Version 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
29.7 Version 0.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
29.8 Version 0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
30 Flask Changelog 269
30.1 Version 0.10.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
30.2 Version 0.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
30.3 Version 0.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
30.4 Version 0.8.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
30.5 Version 0.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
30.6 Version 0.7.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
30.7 Version 0.7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
30.8 Version 0.7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
30.9 Version 0.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
30.10 Version 0.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
30.11 Version 0.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
30.12 Version 0.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
30.13 Version 0.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
30.14 Version 0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
30.15 Version 0.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
30.16 Version 0.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
30.17 Version 0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
30.18 Version 0.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
30.19 Version 0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
vi
31 License 281
31.1 Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
31.2 General License Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 282
31.3 Flask License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
31.4 Flask Artwork License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Index 285

标签: python py 教程

实例下载地址

python(flask)入门教程.pdf

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警