Python - 轻量级后端框架 Flask

Flask是什么?

Flask是一个轻量级的Python Web框架,用于构建Web应用程序和API。简单、灵活、易扩展,适合小型项目或需要快速开发的应用。

接口的输入和输出

输入:request

GET参数、POST JSON数据、POST表单

python 复制代码
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/add', methods=['GET'])
def add():
    x = request.args.get('x', type=int)
    y = request.args.get('y', type=int)
    if x is None or y is None:
        return jsonify({'error': 'Missing x or y'}), 400
    return jsonify({'result': x + y})

@app.route('/multiply', methods=['POST'])
def multiply():
    data = request.get_json()
    if not data or 'x' not in data or 'y' not in data:
        return jsonify({'error': 'Missing x or y'}), 400
    return jsonify({'result': data['x'] * data['y']})

@app.route('/square/<int:number>', methods=['GET'])
def square(number):
    return jsonify({'result': number ** 2})

if __name__ == '__main__':
    app.run(debug=True)

表单

python 复制代码
from flask import Flask, render_template, request
from wtforms import StringField, PasswordField, SubmitField # 类型
from flask_wtf import FlaskForm
from wtforms.validators import DataRequired, EqualTo #验证数据不能为空,验证数据是否相同

app = Flask(__name__)

app.config['SECRET_KEY'] = 'ADJLAJDLA'
# 定义表单模型类
class Register(FlaskForm):
    user_name = StringField(label='用户名', validators=[DataRequired('用户名不能为空')])
    password = StringField(label='密码', validators=[DataRequired('密码不能为空')])
    password2 = StringField(label='密码', validators=[DataRequired('密码不能为空'), EqualTo('password')])
    submit = SubmitField(label='提交')

@app.route('/register', methods=['GET', 'POST'])
def register():
    # 创建表单对象
    form = Register()
    if request.method == 'GET':
        return render_template('register.html', form=form)
    if request.method == 'POST':
        if form.validate_on_submit():
            username = form.user_name.data
            password = form.password.data
            password2 = form.password2.data
            print(username)
            print(password)
            print(password2)
        else:
            print("验证失败")
        return render_template('register.html', form=form)

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

输出: response

json对象交互

一个使用flask框架的简单应用

python 复制代码
from flask import Flask

app = Flask(__name__)  # 创建 Flask 应用

@app.route('/')  # 访问 '/' 时执行这个函数
def home():
    return "Hello, Flask!"

if __name__ == '__main__':
    app.run(debug=True)  # 运行服务器(默认端口 5000)

Python_Flask框架入门教学-Bli

Flask介绍

Python有三个主要的框架:Flask, Tornado,Django

Flask轻量级框架,可以结合其他库扩展使用

官方文档:https://dormousehole.readthedocs.io/en/latest/

安装:pip install flask -i https://pypi.douban.com

快速入门

Flask路由 匹配URL

request对象 abort函数

模板

flask数据库

表单

ajax

管理系统小案例

使用

变量规则

自定义转换器

渲染form表单

request对象

重定向

返回json数据给前端

abort函数

自定义异常

模板的基本使用

过滤器

flask数据库

mysql: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip

相关推荐
AC赳赳老秦37 分钟前
OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源
大数据·开发语言·python·serverless·excel·deepseek·openclaw
提笔了无痕39 分钟前
如何用Go实现整套RAG流程
开发语言·后端·golang
(Charon)41 分钟前
【C++ 面试高频基础:指针、引用、const、static、new/delete 总结】
java·开发语言
2601_961875241 小时前
法考考试时间安排及科目|时间表|资料已整理
开发语言·c#·inverted-index·suffix-tree·sstable·r-tree·lsm-tree
AI科技星1 小时前
数术工坊第八卷:算力革命
c语言·开发语言·网络·量子计算·agi
geovindu2 小时前
go: Generators Pattern
开发语言·后端·设计模式·golang·生成器模式
茉莉玫瑰花茶2 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
文艺倾年2 小时前
【强化学习】强化学习基本概念,20W字总结(一)
人工智能·python·语言模型·自然语言处理·面试·职场和发展·大模型
宸丶一2 小时前
Day 13:持久化记忆 - 让 Agent 拥有长期记忆
jvm·python·ai
码云骑士3 小时前
13-列表append的底层真相(上)-listobject源码中的预分配策略
开发语言·python