Flask基本配置

本文介绍了Flask应用的基本配置过程,包括创建`create_app.py`以封装flask_app,设立app入口文件,建立config、model、views文件夹并编写相应内容,以及使用manage.py进行数据库初始化、迁移和升级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始

创建一个新的文件夹,开始配置

配置项

1.创建create_app.py 封装flask_app

from flask import Flask
from flask_cors import CORS
from views.user_bp import user_bp
from model.model import db
from views.channel_bp import channel_bp
from views.news_bp import news_bp


def create_app(config):
    # 实例化flask_app
    flask_app = Flask(__name__)

    # 挂载到flask核心对象
    flask_app.config.from_object(config)

    # 挂载蓝图
    flask_app.register_blueprint(user_bp)
    flask_app.register_blueprint(channel_bp)
    flask_app.register_blueprint(news_bp)

    # 配置跨域
    cors = CORS(flask_app)

    # 挂载数据库
    db.init_app(flask_app)

    return flask_app

2.创建app入口文件

from create_app import create_app
from config.settings import DevConfig

app = create_app(DevConfig)

3.创建config文件夹---settings文件

class Config:
    # 设置密钥
    # secret_key
    SECRET_KEY = "dnuajncub"

    # 数据库类型+数据库操作引擎://用户名:密码@主机名:端口/数据库名
    # sqlalchemy_database_uri
    SQLALCHEMY_DATABASE_URI = ""

    # sqlalchemy_track_modifications
    # 追踪数据的修改信号
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # sqlalchemy_echo
    # 是否在控制台打印输出sql语句
    SQLALCHEMY_ECHO = True

    # 返回json的时候 不转义中文
    JSON_AS_ASCII = False

    # 容联云密钥
    ACC_ID = "8aaf0708827c8fd50182aad56c550895"
    ACC_TOKEN = "1afad367614148bbaa2261a287b9b4e0"
    APP_ID = "8aaf0708827c8fd50182aad56d54089c"
    TID = "1"
    SMS_TIME = 5

    # redis配置项
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = "6379"
    REDIS_PASSWORD = "123456"

    # 七牛云地址
    QINIU_HOST = 'http://rilywxg6x.hd-bkt.clouddn.com/'


# 开发环境的配置项
class DevConfig(Config):
    SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/my_news"


# 生产环境的配置项
class ProdConfig(Config):
    SQLALCHEMY_DATABASE_URI = ""

4.创建model文件夹---model文件

from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

db = SQLAlchemy()

5.创建manage.py文件

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

# 创建一个命令窗口
# 需要传参:flask实例对象app
manage = Manager(app)

# 实例化一个迁移类
# 需要传参:flask实例对象app
migrate = Migrate(app, db)

# 把迁移命令添加到命令窗口
# add_command添加到命令窗口
# 两个参数, 组名,迁移命令
manage.add_command("db", MigrateCommand)

# 启动程序
if __name__ == '__main__':
    manage.run()

6.创建views文件夹,写视图---例如user_bp.py

from flask import Blueprint, jsonify
from flask_restful import Api

# 实例化蓝图
# url_prefix="/user" 路由前缀
user_bp = Blueprint("user_bp", __name__, url_prefix="/user")

# 实例化路由收集器
api = Api(user_bp)

注:以上所有配置完都需要到create_app.py里面去注册挂载

初始化db文件

python manage.py db init

生成迁移文件

python manage.py db migrate

执行迁移命令

python manage.py db upgrade

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值