93.(后端)分类参数增加接口实现——flask框架使用蓝图与restful发送请求添加数据

1.概述

1.1参数详解

对于添加的操作接口,需要的传递参数如下:
id自动生成,无需传递

参数名参数说明备注
cid分类ID不能为空
name参数说明不能为空
_type[static, dynamic]不能为空
val静态:单值 动态:该值以逗号隔开可选参数

2.主要代码

2.1创建蓝图对象

创建蓝图对象的方式可以查看之前的文章,这里就不过多讲啦
flask框架使用蓝图与restful发送请求添加数据

本次就不再单独创建文件夹,就写在原先的category中

# flask_shop/category/__init__.py
# user用于管理用户的蓝图

from flask import Blueprint
# 注册flask_restful路由
from flask_restful import Api

# 创建蓝图,记得要注册
#定义好传递给的变量 蓝图对象名称      前缀名                  
category = Blueprint('category', __name__)
# 注册flask_restful路由
category_api = Api(category)

                 
attribute = Blueprint('attribute', __name__, url_prefix='/category')
attribute_api = Api(attribute)

from flask_shop.category import view

添加如下代码

# flask_shop/category/view.py
from flask_shop.category import category,category_api, attribute, attribute_api

注册蓝图

#flask_shop/__init__.py
# 用于初始化app对象
from flask import Flask
# 导入数据库
from flask_sqlalchemy import SQLAlchemy
# 获取是哪种开发模式
from config import config_map


# 先不连接app对象,否则报错,在下面创建app对象时默认连接数据库,就可以了
db = SQLAlchemy()

def create_app(config_name):
    app = Flask(__name__)
    # 获取到字典中的哪种类,获取到对应的类名,再给到from_object获取到对应的参数
    obj = config_map.get(config_name)
    # 加载数据库到Flask中
    app.config.from_object(obj)
    # 默认连接数据库
    db.init_app(app)

    # 注册用户的蓝图
    from flask_shop.category import attribute
    app.register_blueprint(attribute)
    
    return app

创建函数接口

# flask_shop/category/view.py
from flask import request
from flask_shop.category import category,category_api, attribute, attribute_api
from flask_shop import models,db
from flask_restful import Resource
from flask_shop.utils.message import to_dict_msg
# attribute表
# restful形式发送请求
class Attribute(Resource):
    # 增加数据
    def post(self):
        name = request.form.get('name')
        cid = request.form.get('cid')
        _type = request.form.get('_type')
        val = request.form.get('val')

        if all([name, cid, _type]):
            if val:
                attr = models.Attribute(name=name, cid=int(cid), _type=_type, val=val)
            else:
                attr = models.Attribute(name=name, cid=int(cid), _type=_type)
            db.session.add(attr)
            db.session.commit()
            return to_dict_msg(200,msg="添加商品分类数据成功!!!!")
        else:
            return to_dict_msg(10000)

attribute_api.add_resource(Attribute, '/attribute')

3.Postman测试接口

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想成为数据分析师的开发工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值