|--app
|--__init__.py
|--main
|--__init__.py
|--views.py
|--static
|--templates
|--models.py
|--manage.py
mian/init.py
# main目录:主业务逻辑的路由和视图 # @Usage : 初始化主业务逻辑 from flask import Blueprint main = Blueprint(‘main‘, __name__) from . import views
main/views.py
# @Usage : 主业务逻辑中的视图和路由的定义 from flask import render_template # 导入蓝图程序,用于构建路由 from . import main # 导入db,用于操作数据库 from .. import db # 导入实体类,用于操作数据库 from ..models import * @main.route(‘/‘) def main_index(): categories = Category.query.all() topics = Topic.query.all() return render_template(‘index.html‘, params=locals())
app/init.py
# 主要工作: # 1.构建Flask应用及各种配置 # 2.构建SQLAlchemy的应用 from flask import Flask from flask_sqlalchemy import SQLAlchemy import pymysql pymysql.install_as_MySQLdb() db = SQLAlchemy() def create_app(): app = Flask(__name__) app.config[‘DEBUG‘] = True app.config[‘SQLALCHEMY_DATABASE_URI‘] = ‘mysql://root:root@127.0.0.1:3306/xxx‘ app.config[‘SQLALCHEMY_COMMIT_ON_TEARDOWN‘] = True app.config[‘SECRET_KEY‘] = ‘INPUT A STRING‘ db.init_app(app) # 将main蓝图程序与app关联到一起,这样使app识别main程序包中的路由 from app.main import main as main_blue_print app.register_blueprint(main_blue_print) from app.user import user as user_blue_print app.register_blueprint(user_blue_print) return app
app/models.py
# @Usage : 与当前项目相关的模型文件,即所有的实体类 from . import db
manage.py
from app import create_app app = create_app() if __name__ == ‘__main__‘: app.run()
原文:https://www.cnblogs.com/wayne-tou/p/11809916.html