Day01_基于Flask原始模板的拆分

基于Flask原始模板的二级拆分在这里插入图片描述
1、Manager

from flask_script import Manager
from App import create_app
from App.ext import models

app = create_app()
manager = Manager(app=app)

models.init_app(app)

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

2、Views

#__init__
from .first_blue import blue
from .second_blue import second
# def init_route(app):
#     @app.route('/')
#     def hello_world():
#         return 'Hello World!'
#
#     @app.route('/hello/')
#     def hello():
#         return 'Hello world'
#
#     @app.route('/hi/')
#     def hi():
#         return 'Hi world'
from .third_blue import third


def init_view(app):
    app.register_blueprint(blue)
    app.register_blueprint(second)
    app.register_blueprint(third)
#first_blue
from flask import Blueprint, render_template

from App.models import models, User

blue = Blueprint('blue',__name__)

@blue.route('/')
def index():

    # return '我是蓝图的主页'
    return render_template('index.html', msg='这天气适合睡觉')

@blue.route('/createdb/')
def createdb():
    models.create_all()
    return '创建成功'


@blue.route('/adduser/')
def add_user():
    user = User()
    user.username = 'Tom'

    user.save()
    # models.session.add(user)
    # models.session.commit()

    return '创建成功'
#second_blue
from flask import Blueprint

second = Blueprint('second', __name__)

@second.route('/hello/')

def hello():
    return 'Second Blue'
#third_blue
from flask import Blueprint

third = Blueprint('third', __name__)

@third.route('/hi')
def hi():
    return 'Hi 我是第三页'

3、App

#__init__
from flask import Flask

from App.ext import init_ext
from App.views import init_view

def create_app():
    app = Flask(__name__)

    # app.register_blueprint(blue)
    # app.register_blueprint(second)

    #url 数据库+驱动://用户名:密码@主机:端口/具体哪一个库
    # app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///sqlite.db"
    # app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

    #连接mysql
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:1234@localhost:3306/GP1HelloFlask'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

    init_ext(app)

    init_view(app=app)

    return app

上述,我分别连接了两个数据库。分别是sqlite、mysql

#ext
from flask_sqlalchemy import SQLAlchemy

models = SQLAlchemy()

def init_model(app):
    models.init_app(app=app)

def init_ext(app):
    pass
#models
from App.ext import models


class User(models.Model):
    id = models.Column(models.Integer, primary_key=True)
    username = models.Column(models.String(16))

    def save(self):
        models.session.add(self)
        models.session.commit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值