一、Flask简介
Flask是一个轻量级的Web框架,它使用Python编写,它只依赖于两个外部库:Werkzeug和Jinja2。它没有强制规定代码的组织结构,可以让程序员自由地使用不同的模块来实现不同的功能。
Flask的开发者认为Web框架的核心应该只涉及HTTP请求的处理,这是和Django框架的核心区别之一。
Flask的特点:
- 具有丰富扩展,使用Flask扩展可以支持:
- ORM
- 数据库连接
- 表单验证
- Session
- 文件上传
- 缓存
- 邮件发送等...
- 可以快速创建原型
- 可以使用不同的模板引擎
- 支持RESTful API设计方式
二、Flask框架的安装
在使用Flask之前,需要先安装Flask库,可以通过Python的pip命令进行安装。
pip install flask
三、Flask应用程序案例
在这个例子中,我们将创建一个简单的Flask应用程序,用于接收GET和POST请求并返回“Hello World!”。
首先,我们需要创建一个Python脚本,命名为app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
上述代码使用Flask创建了一个名为app的应用程序,并设置了一个路由/,在浏览器中访问http://localhost:5000/,将返回“Hello World!”。
四、运行Flask应用程序
运行Flask应用程序可以通过在命令行中执行以下命令来完成。
export FLASK_APP=app.py
flask run
在上面的命令中,第一行将app.py文件设置为Flask应用程序的入口点,第二行启动Flask开发服务器。
在浏览器中访问http://localhost:5000/,将看到页面上显示了“Hello World!”。
五、调试模式
在Flask应用程序中启用调试模式非常简单,只需将DEBUG配置设置为True即可,如下所示:
app = Flask(__name__)
app.config['DEBUG'] = True
启用调试模式后,当应用程序抛出异常时,会在浏览器中显示详细的错误信息,这对于调试应用程序非常有帮助。
六、模板引擎
Flask使用Jinja2模板引擎来生成HTML页面。Jinja2是一个流行的Python模板引擎,它允许使用模板文件来生成特定形式的输出。
在应用程序根目录下创建一个名为templates的文件夹,用于存储HTML模板文件。
下面是一个使用模板文件的Flask应用程序的示例:
# app.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def hello():
return render_template('index.html', title='Flask App', message='Hello World!')
在上述示例中,@app.route('/')用于设置根路由。在这个路由中,使用render_template()函数返回index.html模板文件中渲染生成的HTML页面。
下面是一个简单的index.html模板文件示例:
<!doctype html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ message }}</h1>
</body>
</html>
七、总结
使用Flask启动Python应用程序非常简单,它不仅易于安装和使用,而且它可以通过范式灵活,以适应不同的Web应用程序的需求,并且可以使用Flask扩展轻松地实现应用程序的各种功能。