1、settings
class Config:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@127.0.0.1:3306/study'
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_ECHO = True
SECRET_KEY = 'odfhahsdadsaf5ewr323asf'
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_DIR = os.path.join(BASE_DIR, 'static')
TEMPLATES_DIR = os.path.join(BASE_DIR, 'templates')
UPLOAD_ICONS_DIR = os.path.join(STATIC_DIR, 'upload\icon')
UPLOAD_PHOTOS_DIR = os.path.join(STATIC_DIR, 'upload\photo')
SESSION_TYPE = 'redis'
SESSION_COOKIE_NAME = 'session_id'
class DevelopmentConfig(Config):
ENV = 'development'
DEBUG = True
class ProductionConfig(Config):
ENV = 'production'
DDEBUG = False
2、app.py的封装
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
from apps import create_app
from exts import db
app = create_app()
manager = Manager(app=app)
migrate = Migrate(db=db, app=app)
manager.add_command("db", MigrateCommand)
if __name__ == '__main__':
manager.run()
3、apps包的配置
from flask import Flask
from exts import db
from settings import DevelopmentConfig
def create_app():
app = Flask(__name__, template_folder="../templates", static_folder="../static")
app.config.from_object(DevelopmentConfig)
db.init_app(app=app)
return app