Flask基础知识
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
Flask教程Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
什么是Web框架?
Web应用程序框架或简单的Web框架表示一组库和模块,它们使Web应用程序开发人员能够编写应用程序,而不必担心如协议,线程管理等低层细节。
什么是Flask?
Flask是一个用Python编写的Web应用程序框架。 它由Armin Ronacher开发,他领导着一个名为Pocco的Python爱好者的国际组织。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。 这两个都是Pocco项目。
WSGI
Web服务器网关接口(WSGI)已被采纳为Python Web应用程序开发的标准。 WSGI是Web服务器和Web应用程序之间通用接口的规范。
WERKZEUG
它是一个WSGI工具包,它实现了请求,响应对象和其他实用程序功能。 这可以在其上构建Web框架。 Flask框架使用Werkzeug作为其一个基础模块之一。
Jinja2
jinja2是Python的流行模板引擎。 网页模板系统将模板与特定的数据源结合起来呈现动态网页。
Flask通常被称为 微框架。 它旨在保持应用程序的核心简单且可扩展。 Flask没有用于数据库处理的内置抽象层,也没有形成验证支持。 相反,Flask支持扩展以将这些功能添加到应用程序中。部分流行的Flask扩展将在本教程后续章节中讨论。
安装 Flask
直接使用 pip
即可
pip install Flask
简单应用
# Filename : example.py
# Author : hhhcbw
# Date : 2022-3-1
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World'
if __name__ == '__main__':
app.run()
在项目中导入Flask模块是强制性的。 Flask类的一个对象是WSGI应用程序。
Flask构造函数将当前模块的名称 (__name__)
作为参数。
Flask类的 route()
函数是一个装饰器,它告诉应用程序哪个URL应该调用相关的函数。
app.route(rule, options)
rule 参数表示与该函数绑定的URL
options 是要转发给底层Rule对象的参数列表
在上面的实例中,/
URL与hello_world()方法绑定。 因此,在浏览器中打开Web服务器的主页时,将呈现此函数的输出。
最后,Flask类的 run()
方法在本地开发服务器上运行应用程序。
app.run(host, port, debug, options)
上面方法中的所有参数都是可选的,作用如下表描述说明
参数 | 描述 |
---|---|
host | 监听的主机名。默认为127.0.0.1(localhost)。 设置为’0.0.0.0’使服务器在外部可用 |
port | 监听端口号,默认为:5000 |
debug | 默认为:false。 如果设置为:true,则提供调试信息 |
options | 被转发到底层的Werkzeug服务器。 |
运行上面的 Python 脚本,我们在浏览器中打开上面的URL(http://127.0.0.1:5000/),将会看到有 ‘Hello World’ 消息显示在浏览器中。
调试模式
Flask应用程序通过调用 run()
方法来启动。但是,当应用程序正在开发中时,应该为代码中的每个更改手动重新启动它。 为了避免这种不便,可以启用调试支持。 如果代码改变,服务器将自动重新加载。 它还将提供一个有用的调试器来跟踪应用程序中的错误(如果有的话)。
在运行或将调试参数传递给 run()
方法之前,通过将应用程序对象的调试属性设置为 True
来启用调试模式。
app.run(debug = True)