Flask快速入门
Flask简介
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
安装Flask
建议安装在虚拟环境中
创建虚拟环境
创建文件夹,在文件夹下面 输入命令
1
|
python - m venv venv_name |
激活虚拟环境
激活这个虚拟环境(注意,使用的是虚拟环境的话前面会有(venv_name)这个显示的,不然就是没有激活虚拟环境。)
1
|
venv_name\Scripts\activate |
安装Flask
在已激活的虚拟环境中使用pip安装Flask
pip install flask
flask最基础的一个例子
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run(debug=True, host='127.0.0.1', port=5000)
- 导入Flask类。
- 其次创建了Flask的实例,第一个参数是应用模块或者包的名称。 如果你使用单一的模块(如本例),你应该使用 __name__ ,因为模块的名称将会因其作为单独应用启动还是作为模块导入而有不同( 也即是 '__main__' 或实际的导入名)。这是必须的,这样 Flask 才知道到哪去找模板、静态文件等等。
- route()是一个路由,其实是一个装饰器,在其中输入URL,会帮我们在这个URL下执行对应的方法。
- 接着是函数主体,可以写方法也可以调用其他方法的返回值,最后返回到浏览器上显示的信息
- 最后我们用 run() 函数来让应用运行在本地服务器上。 其中 if __name__ =='__main__': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。debug=True开启了调试模式,相当于在发生错误时提供一个相当有用的调试器。host=’0.0.0.0‘可以允许同一个局域网内别的用户访问,这个方法让操作系统监听所有公网 IP。port自定义端口。
路由
现代Web框架使用路由技术来帮助用户记住应用程序URL。可以直接访问所需的页面,而无需从主页导航。Flask中的route()装饰器用于将URL绑定到函数。例如:
@app.route('/index') def index(): return 'This is a index page...'
在这里,URL '/ index' 规则绑定到index()函数。 因此,如果用户访问127.0.0.1:5000/index,index()函数的输出将在浏览器中呈现。
变量规则
通过把 URL 的一部分标记为 <variable_name> 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。通过使用 <converter:variable_name> ,可以 选择性的加上一个转换器,为变量指定规则。请看下面的例子:
@app.route('/user/<username>') def show_user_profile(username): # show the user profile for that user return 'User %s' % escape(username) @app.route('/post/<int:post_id>') def show_post(post_id): # show the post with the given id, the id is an integer return 'Post %d' % post_id @app.route('/path/<path:subpath>') def show_subpath(subpath): # show the subpath after /path/ return 'Subpath %s' % escape(subpath)