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)
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