📜  Flask框架(1)

📅  最后修改于: 2023-12-03 15:00:46.898000             🧑  作者: Mango

Flask框架介绍

什么是Flask框架

Flask 是一个轻量级的 Web 应用框架,适用于小到中型的 Web 应用开发。Flask 基于 Werkzeug WSGI 工具箱和 Jinja2 模板引擎开发。Flask 是一个 Python 应用程序,因此可以在 Python 环境下运行。

Flask 的特点包括:

  • 简单易学:Flask 设计思想简单,代码易读易理解,开发门槛低。
  • 灵活可扩展:Flask 提供了扩展机制,可以通过扩展获得更多功能,或者自己开发扩展来实现自己的需求,非常灵活。
  • 轻量级:Flask 基于 Werkzeug WSGI 工具箱开发,是一个轻量级框架。
如何安装Flask
pip install Flask
Flask框架的Hello World

下面是使用 Flask 编写的 Hello World 代码片段:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello, World!"

if __name__ == "__main__":
    app.run()

在终端中运行该代码即可启动 Flask 应用,浏览器访问 http://localhost:5000/ 就可以看到程序输出的 Hello World 信息。

Flask路由

Flask 应用使用 route 装饰器来定义路由:

@app.route('/')
def index():
    return 'Index Page'

路由可以包含动态参数:

@app.route('/user/<username>')
def show_user_profile(username):
    return 'User %s' % escape(username)

@app.route('/post/<int:post_id>')
def show_post(post_id):
    return 'Post %d' % post_id
Flask模板引擎

Flask 默认使用 Jinja2 模板引擎来渲染模板,因此需要在程序中引用 Jinja2:

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def index():
    user = {'username': 'Jerry'}
    return render_template('index.html', title='Home', user=user)

上述代码中,程序将 index.html 渲染成 HTML 页面,其中涉及到 titleuser 变量的渲染。

Flask扩展

Flask 提供了丰富的扩展,可提供额外功能,例如:

  • Flask-WTF:表单处理扩展
  • Flask-SQLAlchemy:数据库操作扩展
  • Flask-Mail:邮件扩展
  • Flask-RESTful:RESTful API 扩展
  • 等等

扩展的安装方法通常与 Flask 相同,例如安装 Flask-WTF:

pip install Flask-WTF

安装后,可以在 Flask 中使用 Flask-WTF 提供的表单处理功能。

总结

Flask 是一个轻量级的 Web 应用框架,可以快速构建小到中型的 Web 应用,具有灵活可扩展、简单易学、轻量级等特点。Flask 的路由、模板引擎、扩展等功能丰富,开发门槛低,非常适合初学者使用。