Python Flask 全流程全栈项目实战

55 阅读3分钟

Python Flask 全流程全栈项目实战

Python Flask 全流程全栈项目实战

获取ZY↑↑方打开链接↑↑

Flask 是一个轻量级的 Web 开发框架,由 Armin Ronacher 开发,使用 Python 语言。它被设计为简单、易扩展,非常适合小型到中型的 Web 应用程序,也可以用于大型应用。以下是 Flask 框架的基础知识初探。

Flask 的特点

  1. 轻量级:Flask 本身只提供了核心的 Web 工具,如路由、模板和错误处理。
  2. 易于扩展:可以通过扩展来增加更多功能,如表单验证、数据库集成、用户认证等。
  3. Werkzeug WSGI 工具箱:Flask 使用 Werkzeug 作为其 WSGI 工具箱和服务器。
  4. Jinja2 模板引擎:Flask 使用 Jinja2 作为模板引擎,用于渲染 HTML。

安装 Flask

在开始使用 Flask 之前,需要先安装 Flask。可以使用 pip 命令来安装:

bash

复制

pip install Flask

第一个 Flask 应用

以下是一个简单的 Flask 应用示例:

python

复制

from flask import Flaskapp = Flask(__name__)@app.route('/')def hello():    return 'Hello, World!'if __name__ == '__main__':    app.run(debug=True)

这个应用做了以下几件事:

  1. 导入 Flask 类。
  2. 创建一个 Flask 实例。
  3. 定义一个路由 / 和一个视图函数 hello,当访问根 URL 时,会返回 “Hello, World!”。
  4. 使用 app.run() 启动应用,debug=True 开启调试模式。

路由

在 Flask 中,路由是指用户访问的 URL 与处理该请求的函数之间的映射。可以使用 @app.route 装饰器来定义:

python

复制

@app.route('/user/<username>')def show_user_profile(username):    # 显示用户名的用户资料    return f'User {username}'

变量规则

可以在路由中添加变量部分,如上面的 <username>。还可以指定变量的类型:

python

复制

@app.route('/post/<int:post_id>')def show_post(post_id):    # 显示具有特定 ID 的帖子    return f'Post {post_id}'

HTTP 方法

默认情况下,路由只响应 GET 请求。可以通过添加 methods 参数来处理不同的 HTTP 方法:

python

复制

@app.route('/login', methods=['GET', 'POST'])def login():    if request.method == 'POST':        # 处理登录逻辑        return 'Login POST'    else:        # 显示登录表单        return 'Login GET'

静态文件

Flask 默认提供静态文件服务,只需将静态文件放在名为 static 的文件夹中,然后使用 /static 前缀即可访问:

html

复制

<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">

模板

Flask 使用 Jinja2 作为模板引擎,可以轻松地渲染 HTML 页面:

python

复制

from flask import render_template@app.route('/hello/')@app.route('/hello/<name>')def hello(name=None):    return render_template('hello.html', name=name)

在 templates 文件夹中创建一个名为 hello.html 的文件:

html

复制

<!doctype html><title>Hello from Flask</title>{% if name %}  <h1>Hello {{ name }}!</h1>{% else %}  <h1>Hello, World!</h1>{% endif %}

运行应用

运行 Flask 应用通常有两种方式:

  1. 使用内置服务器:

bash

复制

flask run

或者在代码中使用:

python

复制

if __name__ == '__main__':    app.run()
  1. 使用外部 WSGI 服务器,如 Gunicorn:

bash

复制

gunicorn -w 4 myapp:app

这里的 myapp 是包含 Flask 应用实例的 Python 模块,app 是 Flask 实例。

以上就是 Flask 框架的基础入门知识。Flask 社区提供了大量的扩展和文档,可以帮助开发者构建更复杂的应用。