flask基础

这个教学周期学习了flask框架的基础使用,首先创建文件夹,使用python打开,然后安装flask需要安装的插件(可以把下面的内容复制到txt中,拉到打开的文件夹根目录下,在终端使用pip install -r txt名  进行安装):

Flask==1.1.4
Flask-Caching==1.10.1
Flask-Cors==3.0.10
Flask-Migrate==2.7.0
Flask-RESTful==0.3.9
Flask-Script==2.0.6
Flask-SQLAlchemy==2.5.1
MarkupSafe==2.0.1
PyJWT==2.3.0
PyMySQL==1.0.2
qiniu==7.6.0
redis==4.2.2
SQLAlchemy==1.4.27

接着使用工厂模式写需要的配置:

定义以下文件夹和文件:

接着定义app 入口文件里的内容

from create_app import create_app
from setting.config import DevConfig


app = create_app(DevConfig)

create_app:

from flask import Flask
from flask_cors import CORS
from views.cate_bp import cate_bp
from models.models import db


def create_app(config):
    flask_app = Flask(__name__)

    # 挂载配置项
    flask_app.config.from_object(config)

    # 跨域
    cors = CORS(flask_app)

    # 注册蓝图
    flask_app.register_blueprint(cate_bp)

    # 初始化数据库
    db.init_app(flask_app)

    return flask_app


manage:

from flask_script import Manager
from flask_migrate import MigrateCommand, Migrate
from app import app
from models.models import db

db.init_app(app)

manage = Manager(app)

migrate = Migrate(app, db)

manage.add_command('db', MigrateCommand)

if __name__ == '__main__':
    manage.run()

config:setting:

class DevConfig():
    SECRET_KEY = 'sdgdgsgshajdasdhg'

    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123@127.0.0.1:3306/p7day7'
    DEBUG = True
    NAME = '开发环境'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_ECHO = True

models:models:

from datetime import datetime

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()


class CateModel(db.Model):
    __tablename__ = "cate"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    catename = db.Column(db.String(32))
    one = db.relationship('OneModel', backref='cate')
    img = db.Column(db.String(500))


class OneModel(db.Model):
    __tablename__ = "one"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(32))
    img = db.Column(db.String(500))
    price = db.Column(db.DECIMAL(10, 2))
    cateid = db.Column(db.Integer, db.ForeignKey('cate.id'))

views:cate_bp:

from flask import Blueprint, jsonify, request
from flask_restful import Api, Resource, reqparse
from models.models import *

cate_bp = Blueprint('cate_bp', __name__, url_prefix='/cates')

api = Api(cate_bp)


class UploadViews(Resource):
    def post(self):
        img = request.files['file']
        new_file_path1 = "static/%s" % img.filename
        img.save("./" + new_file_path1)

        return jsonify({
            'code': 200,
            'data': new_file_path1
        })


class CateOneView(Resource):
    def get(self):
        req = reqparse.RequestParser()
        req.add_argument("id")
        args = req.parse_args()
        print('获取的要获取的数据的分类id》》', args['id'])
        print('要获取的数据的分类》》', args)

        aa = OneModel.query.all()
        bb = []
        for i in aa:
            # if i.cateid == args['id']:
                bb.append({
                    'id': i.id,
                    'name': i.name,
                    'img': i.img,
                    'price': float(i.price),
                    'cateid': i.cateid,
                })
            # else:
            #     continue
        return jsonify(bb)


api.add_resource(UploadViews, '/upload')
api.add_resource(CateOneView, '/cateone')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值