Flask[初见]
什么是Flask?
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
——百度百科
如果看文章的你也同我一样,如此小白,便会觉得,听不懂。
什么是Web应用框架?
WSGI是什么?
模板引擎又是什么?
疑问很多,下面我将通过我的个人理解首先解答第一个问题。
Web应用框架
在接触Python之前我便对tomcat , Djongo 等,略有耳闻。这是两种知名的,Web应用框架。在实际操作之前,仅凭想象,或是其他渠道学习,理解总归是差些的。
Web应用框架,说白了,就是可以通过编写代码,实现一个运行在Web上的应用程序。什么是Web应用程序,即能通过Web访问,也就是HTTP或HTTPS访问使用的应用。
再通俗点讲,就是实现了网站的网页和网站的部署。实现了html和web服务器的功能。
瞬间上手Flask
首先,我们先来安装一下Flask,只需要一条代码即可。(默认你电脑上有Python和pip)
1 | pip install flask |
然后,打开你的IDE,编写一段超级精简的Python代码!
1 | from flask import Flask |
点击运行,得到以下输出。
1 | * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) |
然后访问其中的地址,即可得到一个网页。
网页中只有一行字,Hello World。本来这博文也是写给自己看的,就不多赘述了。
name
不得不说一下 __name__
这玩意,比较的神奇。
如果不在本文件运行这个属性,它返回的值是文件名,但当在本文件运行时,它返回的值是 __main__
。
装饰器
装饰器以 @ 开头 ,用以装饰后面的函数。
app.run
我们可以指定监听的地址和端口,如:
1 | app.run(host='0.0.0.0', port=1122) |
Flask路由
在讲解最小的flask应用时,提到了装饰器route,它的作用就是将处理请求的函数绑定到URL上(URL必须以反斜杠开头),这种设计体现了解耦的思想。 不同的请求被路由到不同处理函数上,这个函数称之为视图。路由保存了URL和处理函数之间的映射关系,映射关系的建立是通过route装饰器完成的。
——COOLPython
建立映射关系
通过route装饰器,不同的请求被路由到不同处理函数上。路由保存了URL和处理函数之间的映射关系。
1 | from flask import Flask |
变量规则
实例中,无论是 /hello
还是 /books/
这种URL都是固定的,而在实际使用中,经常会用到不固定的URL。如:
比如/book/1/price 这种restful风格的URL。
先不谈什么是restful风格,当务之急是我们需要实现一个动态变化的URL。
而Flask自带实现方法,允许给URL添加变量部分。
1 |
|
变量部分的规则为 converter:variable_name ,variable_name将作为参数传递给所绑定的函数,而且可以根据converter转换器对variable_name进行转换。
converter转换器有下面几种
| 转换器 | 说明 | | —— | —————- | | int | 接受整数 | | float | 接受浮点数 | | path | 接受带斜线的path |
如果不标注转换器类型,则默认转为字符串,下面是这几种转换器的例子
1 | # 不指定转换器 |
——COOLPYTHON
感想
初见,Suki , 结婚!