使用蓝图组建flask项目

本文详细介绍使用Flask框架构建企业级项目的步骤,包括配置文件、初始化文件、蓝图的使用、视图文件编写及数据库操作。通过具体代码示例,展示如何搭建Flask蓝图模式,实现高效开发。

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

Flask本身是一个轻量级的框架,所以使用很方便,我们要学习的是flask蓝图,组建企业级项目。

但是如果需求很小,使用flask开发,完全没有必要遵照蓝图模式,搭建一堆文件。

 

1、配置文件 E:\code\flask\CompanyProject\config.py

import os

# basedir = os.path.dirname(__file__)
# print(basedir)


class Config:
    DEBUG = False
    SQLALCHEMY_DATABASE_URI = "sqlite:////code/flask/CompanyProject/app/flask.db"
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    SECRET_KEY = os.environ.get("SECRET_KEY") or 'hard to guess string'
    @staticmethod
    def init_app(app):
        pass

class Test(Config):
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = "sqlite:////code/flask/CompanyProject/app/test.db"

class Run(Config):
    pass

config={
    "test":Test,
    "run":Run
}

2、初始化文件 E:\code\flask\CompanyProject\app\__init__.py

from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
from config import config

db = SQLAlchemy()


def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    db.init_app(app)

    from .main import main as main_blueprint

    app.register_blueprint(main_blueprint)

    return app

3、蓝图的初始化文件 E:\code\flask\CompanyProject\app\main\__init__.py

from flask import Blueprint

main = Blueprint("main", __name__)
from . import views, errors

 

4、注册蓝图 E:\code\flask\CompanyProject\app\__init__.py

5、编写视图文件 E:\code\flask\CompanyProject\app\main\views.py

from . import main


@main.route("/")
def index():
    return "hello world"

6、启动脚本编写 E:\code\flask\CompanyProject\manage.py

import os
from app import create_app, db
from app.models import *
from flask_script import Manager, Shell
from flask_migrate import MigrateCommand, Migrate

# os.getenv 获取环境变量,获取不到返回None
app = create_app(os.getenv("FLASK_CONFIG") or "test")

manager = Manager(app)
migrate = Migrate(app, db)


def make_shell_context():
    return dict(app=app, db=db, User=User, Type=Type)


def create_db():
    db.create_all()
    print("create success")


manager.add_command("shell", Shell(make_context=make_shell_context()))
manager.add_command("db", MigrateCommand)

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

 

7、命令行相关操作

启动命令行,切换到当前项目所在的目录,并且激活环境

1、python manage.py runserver 启动服务

2、Python manage.py db init 实例化数据库

3、Python manage.py db migrate -m "initial migration" 生成数据库语句

4、Python manage.py db upgrade 同步数据库

5、Python manage.py shell 交互命令

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值