1. Initial project directory
-apps package------storage app
-user folder-------is just an app
-models.py -------- store table model
-views.py ------- store the main code
-ext package
-init.py ------- instantiate the db object
-manage.py -----Entry to run the project
-setting.py -----configuration file
2. Contents of each file
manage.py
from apps import count_tion
from flask_migrate import Migrate, MigrateCommand
from apps import db
from flask_script import Manager
app = count_tion()
# print(app)
manager = Manager(app)
Migrate(app, db)
manager.add_command("db", MigrateCommand)
if __name__ == '__main__':
# print(app.debug)
manager.run()
setting.py
class Config:
# ENV = 'development'
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:[email protected]:3306/flask?charset=utf8'
SECRET_KEY = 'kdjklfjkd87384hjdhjh'
SQLALCHEMY_POOL_SIZE = 5
SQLALCHEMY_POOL_TIMEOUT = 30
SQLALCHEMY_POOL_RECYCLE = -1
__init__.py under ext
from flask_sqlalchemy import SQLAlchemy
#创建一个映射对象 连接app和orm 映射
db = SQLAlchemy()
__init__.py under apps
from flask import Flask
from apps.user.views import user_bp
import settings
from .user.models import User
from ext import db
def count_tion():
app = Flask(__name__) # 实例化app对象
app.config.from_object(settings.Config) # 加载配置
db.init_app(app) #db对象与app绑定
# 注册蓝图
app.register_blueprint(user_bp)
return app
views.py under user under apps
from flask import Blueprint
user_bp = Blueprint('user',__name__) #创建蓝图对象
@user_bp.route('/',methods=['GET'])
def register():
return 'register'